簡體   English   中英

無法在PyCharm上運行pygame

[英]Cannot Run pygame on PyCharm

我在Mac OS X El Capitan上運行python 2.7.10。 我下載了pygame 1.9.1,它在Python的命令行版本上運行良好。 但是,如果我編寫了一個在PyCharm上使用pygame庫的程序,它將顯示這樣的錯誤消息。

/System/Library/Frameworks/Python.framework/Versions/2.6/bin/python2.6 /Users/jeff/PycharmProjects/Codeup/Solution.py
Traceback (most recent call last):
  File "/Users/jeff/PycharmProjects/Codeup/Solution.py", line 1, in <module>
    import pygame
  File "/Library/Python/2.6/site-packages/pygame/__init__.py", line 95, in <module>
    from pygame.base import *
ImportError: dlopen(/Library/Python/2.6/site-packages/pygame/base.so, 2): Library not loaded: @executable_path/../Frameworks/SDL.framework/Versions/A/SDL
  Referenced from: /Library/Python/2.6/site-packages/pygame/base.so
  Reason: unsafe use of @executable_path in /Library/Python/2.6/site-packages/pygame/base.so with restricted binary

我怎么解決這個問題?

該問題與El Capitan的新系統完整性保護 (SIP)有關。 后果之一是進程僅限制了對其他資源的訪問 ,目的是降低系統的脆弱性。 這似乎適用於將python作為子進程運行的pycharm,但是如果您從命令行運行腳本,則不會出現此問題。

骯臟的解決方案禁用SIP 盡量避免這種情況。

正確的解決方案 :維護兩個單獨的python安裝-系統python(操作系統隨附)和另一個用於開發的python(dev-python)。 您可以從python.org或通過自制軟件獲得后者。 還要分別安裝setuptools和pip並確保/usr/local/bin中的python-binaries鏈接到dev-python安裝的正確副本。 我的dev-python安裝位於/Library/Frameworks/Python.framework/下。 確保不同的python生態系統沒有相互混淆。 例如,我曾經遇到過這樣的問題:某個python模塊的構建系統能夠發現我的dev-python,但是后來鏈接到sys-python lib,這導致在嘗試導入python模塊時出現問題。

希望這會有所幫助。

似乎您沒有SDL庫或它有一些問題。 而且,您確定要使用Python 2.7.10嗎? 在路徑中,我看到2.6。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM