尝试运行runsnake会给出
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
答案 0 :(得分:1)
runsnake.py
中运行virtualenv
和python解释器?如果没有,你将没有相同的包裹。runsnake.py
构建的虚拟环境中运行--no-site-packages
,则无法访问系统范围的程序包。运行pip freeze
会告诉您是否有权访问wxPython
。如果你不这样做就是问题。您可以正确创建新的virtualenv
。virtualenv
命令之前或之后安装了wxPython?#!/usr/bin/python
或#!/usr/bin/env python
python runsnake.py
对于OSX上的python的框架构建,please see this question。
答案 1 :(得分:0)
尝试在virtualenv之外运行runsnake。