【问题标题】:Python script shows different pythonpathPython脚本显示不同的pythonpath
【发布时间】:2012-10-11 13:24:54
【问题描述】:

尝试运行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

【问题讨论】:

  • 您能否详细说明如何您安装了runsnake?
  • 您的意思是pip freeze 同时显示RunSnakeRunwxPython==2.9.4.0wxPython-common==2.9.4.0
  • 我通过手动运行sys.path.extend(['wx directories...']) 修复了它。这摆脱了import wx 问题,现在我有一个看起来像“请使用 python 的框架构建运行...”的不相关错误。
  • 是的@dnozay,我更新了问题。
  • 什么是 sys.executable in/outside runsnake?

标签: python path wxpython pythonpath


【解决方案1】:

尝试在 virtualenv 之外运行 runnake。

详细原因看这里:http://wiki.wxpython.org/wxPythonVirtualenvOnMac

【讨论】:

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

    对于 OSX 上的 Python 框架构建,please see this question

    【讨论】:

    • 我没有在 virtualenv 中运行它,但pip freeze 的输出包含wxPython==2.9.4.0; wxPython-common==2.9.4.0
    • 我得到了你最后的建议,虽然它很乏味:/usr/bin/pythonw2.7 /usr/local/Cellar/python/2.7.3/lib/python2.7/site-packages/runsnakerun/runsnake.py <filename>。我想我可以把#! /usr/bin/pythonw2.7放在第一行让它工作,但显然不是。无论如何,谢谢!
    猜你喜欢
    • 2016-03-14
    • 1970-01-01
    • 2019-03-01
    • 1970-01-01
    • 2011-03-07
    • 2011-12-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多