无法在PyCharm上运行pygame

时间:2015-12-20 10:24:12

标签: python python-2.7 pygame pycharm python-2.6

我在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

我该如何解决这个问题?

2 个答案:

答案 0 :(得分:1)

问题与El Capitan的新System Integrity Protection(SIP)有关。其中一个后果是进程只有restricted access到其他资源,目的是使系统不那么容易受到攻击。这似乎适用于将python作为子进程运行的pycharm,而如果从命令行运行脚本则不会出现此问题。

肮脏的解决方案Disable SIP。尽量避免这种情况。

正确的解决方案:维护两个单独的python安装 - 系统python(OS附带),以及另一个用于开发的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模块时会导致问题。

希望这会有所帮助。

答案 1 :(得分:0)

您好像没有SDL库或者有一些问题。 而且,你确定你使用的是Python 2.7.10吗?在路径中我看到2.6。