समस्या कुछ भी दिखाने के लिए pygame मिल रहा है, लेकिन Macos Mojave पर एक खाली स्क्रीन




python-2.7 (4)

मेरे पास एक ही मुद्दा था, इसे अजगर को 3.6.5 पर डाउनग्रेड करके काम करने के लिए मिला।

> brew unlink python  brew install --ignore-dependencies
> https://raw.githubusercontent.com/Homebrew/homebrew-core/f2a764ef944b1080be64bd88dca9a1d80130c558/Formula/python.rb
> brew switch python 3.6.5_1 pip3 install pygame

यदि आपके पास पहले से ही अजगर 3.6.5 स्थापित है, तो मुझे लगता है कि आप बस स्विच का उपयोग कर सकते हैं।

मैंने हाल ही में एक नई मैकबुक खरीदी है और मैं काम करने के लिए pygame से कोशिश कर रहा हूं, लेकिन अभी तक सफलता नहीं मिली है। मैं बहुत हताश हो रहा हूं और मैं वास्तव में कुछ मदद का उपयोग कर सकता हूं।

मैंने pygame 1.9.4 स्थापित किया है और भले ही मुझे pygame कोड चलाते समय कोई त्रुटि संदेश न मिले, यह मुझे कुछ भी नहीं दिखाएगा लेकिन एक रिक्त स्क्रीन। मैं इसका परीक्षण करने के लिए निम्न कोड का उपयोग कर रहा हूं:

import pygame
pygame.init()

screen = pygame.display.set_mode((800,600))

while True:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            quit()

    screen.fill((255,0,0))
    pygame.display.update()

pygame.quit()

मेरी पुरानी मैकबुक पर परीक्षण कोड मुझे उम्मीद के मुताबिक एक लाल स्क्रीन देता है। दोनों macbooks python 2.7.10 चल रहे हैं।

किसी को भी मुझे पता नहीं है कि मैं क्या गलत कर रहा हूँ? मुझे लगता है कि मैंने ठीक उसी तरह pygame स्थापित किया जैसे मैंने अपनी पुरानी मैकबुक पर किया था और केवल अंतर ऑपरेटिंग सिस्टम लगता है।

संपादन 1: मैं सबलेम टेक्स्ट में स्क्रिप्ट लिखता हूं और टर्मिनल में प्रोग्राम चलाता हूं। Screenshot

संपादन 2: मुझे अपने ऑपरेटिंग सिस्टम को macOS हाई सिएरा में डाउनग्रेड करके फिर से pygame पर काम करना पड़ा।


मैं निम्नलिखित पर्यावरण के साथ इस समस्या में भाग गया: पायथन 3.7, मोजाव 10.14.2, Pygame 1.9.4

मैंने पाया कि पायथन 3.6 में अपग्रेड करना समस्या को ठीक करता है

$ brew unlink python
$ brew install https://raw.githubusercontent.com/Homebrew/homebrew-core/f2a764ef944b1080be64bd88dca9a1d80130c558/Formula/python.rb

इसे ठीक करना चाहिए, यदि आपको एक परिपत्र निर्भरता समस्या मिलती है तो आपको चलना चाहिए:

$ brew install --ignore-dependencies https://raw.githubusercontent.com/Homebrew/homebrew-core/f2a764ef944b1080be64bd88dca9a1d80130c558/Formula/python.rb

विवरण https://apple.stackexchange.com/questions/329187/homebrew-rollback-from-python-3-7-to-python-3-6-5-x


नवीनतम संस्करण अद्यतन करना:: MacOS 10.14.1 से, यदि आप आधिकारिक अजगर पृष्ठ से Python 3.7.2 का आधिकारिक macOS x64 इंस्टॉलर पैकेज डाउनलोड करते हैं और तब pip3 इंस्टॉल करता है pygame यह काम करता है।

MacOS के साथ एक समस्या है। एसडीएल में इसे ठीक करना संभव होना चाहिए।

Pygame मुद्दा यहाँ है: https://github.com/pygame/pygame/issues/555

होमब्रेव इश्यू यहाँ है: https://github.com/Homebrew/homebrew-core/issues/33016


वर्कअराउंड के साथ संपादित करें: पोस्ट के नीचे देखें

मुझे मैकबुक प्रो (रेटिना डिस्प्ले) पर यही समस्या python3.7 और python3.7 Mojave के साथ python3.7 । सादगी के लिए, मैंने अपने सभी परीक्षण आपके सटीक कोड और pygame 1.9.4

(दो) विंडोज कंप्यूटर पर, प्रोग्राम काम करता है और एक लाल विंडो दिखाता है:

  • python2.7
  • python3.6
  • python3.7

इसलिए यह एक पायथन संस्करण समस्या नहीं लगती है, मैं एक MacOS Mojave समस्या की ओर झुकता हूं।

मोजावे ने 'डार्क मोड' की शुरुआत की, जो स्वचालित रूप से विंडो को टिंट करता है। जब डार्क मोड अक्षम होता है, तो मुझे एक रिक्त स्क्रीन मिलती है। जब यह सक्षम होता है, तो मुझे एक डार्क स्क्रीन मिलती है। यह हो सकता है कि जिस तरह से pygame स्क्रीन को नियंत्रित करता है उसके साथ MacOS स्क्रीन डिस्प्ले और pygame नियंत्रित करता है? यह सिर्फ एक सिद्धांत है लेकिन मुझे नहीं पता कि इसका परीक्षण कैसे किया जाए।

संपादित करें: मैंने एक pygame प्रोग्राम की कोशिश की जो उस स्क्रीन की स्थिति को रिकॉर्ड और प्रिंट करता है जिस पर आपने क्लिक किया था। यह कंसोल में स्थिति को आउटपुट करता है, अफसोस यह कुछ भी प्रदर्शित नहीं करता है। दोषपूर्ण प्रदर्शन के अलावा, pygame ठीक से काम करता है।

संपादित करें: अभी के लिए, miniconda से पायथन संस्करण का उपयोग करना और CogSci के pygame का उपयोग करना काम करने लगता है।





pygame