Pygame + Pyinstaller = ImportError: No module named 'pygame'

Pygame + Pyinstaller = ImportError: No module named 'pygame'

我上周开始学习Python。我是新手,编码经验不多

我使用 Pygame 创建了一个 "Space Invader" 游戏(安装在我的虚拟环境中),当我使用 Python2.7 as

启动它时它运行完美
python myfile.py

但是,如果我将其启动为

python3 myfile.py

我有回溯错误

ImportError: No module named 'pygame'

很酷我可以处理它,即使我不知道为什么。但是,当我使用 pyinstaller myfile.py 时,它会使用 Python3

将程序转换为独立的可执行文件
115 INFO: PyInstaller: 3.2
115 INFO: Python: 3.5.0b4
125 INFO: Platform: Darwin-15.5.0-x86_64-i386-64bit
126 INFO: wrote mydir/myfile.py

因此在我启动应用程序时出现相同的错误。 我正在研究 Mac OSX El 船长。

问题是: 为什么它不适用于 Python3? 如何将 'pyinstaller' 与 Python2.7 一起使用?

欢迎使用"human"语言对包管理进行所有解释。

P.S。我尝试了 cx_Freeze 和 bbFreeze,但我总是遇到以下错误。我有一个 Mac OSX El Captain.

OSError: [Errno 1] Operation not permitted: '/mydir/MacOS.so'

Python 库是为 Python 2 和 Python 3 单独安装的。看起来你只为 Python 2 安装了 pygame。常规 pip install [package] 在大多数设置中只安装 Python 2 版本。一般来说,出于某种原因,一切都将 Python 2 视为 "default" 版本,包括其他主要的基于 Unix 的 OSs.

  1. 首先,激活您的 virtualenv(source ./bin/activate 在 venv 目录中)。

  2. pip3 install hg+http://bitbucket.org/pygame/pygame(或者 pip-3.5)在你的 virtualenv 应该修复它。

  3. 如果它抱怨找不到 hg,请以某种方式安装 Mercurial(例如 sudo port install mercurial,如果你有 MacPorts)。

  4. 试试吧。 运行 python3, 然后输入 import pygame.

来源:

  • pygame 从 pip 安装:Unable to install Pygame using pip
  • 我正在使用 OS X El Capitan。我刚刚测试了我的答案,我可以打开 Python 3 解释器和 import pygame.