3

尝试运行runnake会给

ImportError: No module named wx 

打开 ipython 或 python 会话似乎工作正常:

>>> import wx
>>> import sys
>>> print [p for p in sys.path if 'wx' in p]    
['/usr/local/lib/wxPython-2.9.4.0/lib/python2.7/site-packages', '/usr/local/lib/wxPython-2.9.4.0/lib/python2.7/site-packages/wx-2.9.4-osx_cocoa', '/usr/local/lib/wxPython-2.9.4.0/lib/python2.7/site-packages/wx-2.9.1-osx_cocoa/tools']

将该代码放入脚本中并调用python script.py. 但是将该代码放在开头会runsnake.py打印一个空列表(打印整个sys.path打印路径与我的 $PYTHONPATH 完全不同)。

为什么会有所不同,以及如何让它识别 wxPython?

编辑:pip freeze输出包含

SquareMap==1.0.1
RunSnakeRun==2.0.2b1
wxPython==2.9.4.0
wxPython-common==2.9.4.0
4

2 回答 2

1
  • runsnake.py和python解释器在同一个运行virtualenv吗?如果没有,您将不会拥有相同的软件包。
  • 如果您runsnake.py在使用 构建的虚拟环境中运行--no-site-packages,您将无法访问系统范围的包。运行pip freeze会告诉您是否可以访问wxPython. 如果你不这样做,那就是问题所在。您可以正确创建一个新的virtualenv
  • 你是在运行virtualenv命令之前还是之后安装了 wxPython?
  • 检查shebang,看它是否运行相同的python#!/usr/bin/python#!/usr/bin/env python
  • 您也可以尝试强制使用哪个解释器python runsnake.py

对于 OSX 上的 Python 框架构建,请参阅此问题

于 2012-10-21T16:17:36.310 回答
0

尝试在 virtualenv 之外运行 runnake。

在此处查看详细原因: http ://wiki.wxpython.org/wxPythonVirtualenvOnMac

于 2015-06-08T23:50:14.780 回答