2016-07-05 79 views
1

上周我开始学习Python。我是新手,没有太多的编码经验。Pygame + Pyinstaller = ImportError:没有名为'pygame'的模块

我创建使用pygame的(安装在我的虚拟环境)的“太空入侵者”游戏,它完美的作品时,我用Python2.7启动它作为

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 Captain。

问题是: 为什么它不适用于Python3? 如何在Python2.7中使用'pyinstaller'?

欢迎使用“人类”语言对包裹管理进行所有解释。

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

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

不知道这是如何工作在Mac上,但问题是必须为每个Python单独安装PyGame(和任何其他包)。您只为Python 2安装了它。您还需要为Python 3安装它。 – imallett

+0

您提到了'虚拟'环境。所有你需要的是激活'python2.7'的环境。请注意,El Capitan还配备了自己的Python 2.7。确保你不会对另一个感到困惑。 – alvits

+0

嗨,大家好,任何人都可以帮助我吗? http://stackoverflow.com/questions/38244537/bug-pyinstaller-payload-veil-show-prompt-windows-while-i-run-it –

回答

1

Python库是为Python 2单独安装和Python 3看起来你只为Python 2.定期pip install [package]安装pygame只安装在大多数设置了Python 2.0版本。一般来说,出于某种原因,一切都认为Python 2是“默认”版本,包括其他主要的基于Unix的操作系统。

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

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

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

  4. 试一试。运行python3,然后放import pygame

来源:

  • pygame的安装从PIP:Unable to install Pygame using pip
  • 我使用的是OS X埃尔卡皮坦。我刚刚测试了我的答案,并且我可以打开Python 3解释器和import pygame
+0

好的。我遵循你的指示。为此,我创建了另一个虚拟环境,并将pygame安装为'pip3 install hg + bitbucket.org/pygame/pygame' ;.但是为了使'pyinstaller'工作,我必须在运行之前使用'pip3 install pyinstaller'将它安装在我的虚拟环境中。 –

+0

现在我有另一个小问题。当我在虚拟环境中运行可执行文件时,它可以正常工作,但在我运行本地环境的那一刻,出现以下错误:pygame.error:无法打开图像/ ProEuro1.png。 'pygame'包含代码中使用的图像吗?如果不是我如何管理它们? –

+0

我并不熟悉'pygame'或'pyinstaller',但是根据错误信息判断,我不认为'pygame'包含源代码中的图像。在你的工作目录中必须有一个图像目录。它需要位于与打开Python文件的位置相同的目录中。如果你能找到它,你可以尝试移动它,但除此之外,你可能需要更多地环顾四周。 – sudo

相关问题