【问题标题】:Installed PySide but can't import it: "no module named PySide"已安装 PySide 但无法导入:“没有名为 PySide 的模块”
【发布时间】:2014-09-03 22:22:05
【问题描述】:

我是 Python 新手。我安装了 Python 2.7 和 Python 3。我刚刚尝试通过 Homebrew 安装 PySide 并收到此消息:

PySide 包成功安装在 /usr/local/lib/python2.7/site-packages/PySide...

两个版本的 Python 和新安装的 PySide 都存放在 /usr/local/Cellar/.

这个问题是,当我在 Python 2.7 或 Python 3 中尝试导入 PySide 或运行包含 PySide 的测试程序时,我收到消息:“没有名为 PySide 的模块”。

这是在 OS X 10.9.3 上

任何帮助将不胜感激,我已经进行了广泛搜索,并尝试重新安装几次,结果相同。

完整的sys.path 输出:

当我在 Python 3 中运行时:

>>> print(sys.path)
['', '/usr/local/Cellar/python3/3.4.1/Frameworks/Python.framework/Versions/3.4/lib/python34.zip', '/usr/local/Cellar/python3/3.4.1/Frameworks/Python.framework/Versions/3.4/lib/python3.4', '/usr/local/Cellar/python3/3.4.1/Frameworks/Python.framework/Versions/3.4/lib/python3.4/plat-darwin', '/usr/local/Cellar/python3/3.4.1/Frameworks/Python.framework/Versions/3.4/lib/python3.4/lib-dynload', '/usr/local/lib/python3.4/site-packages']

当我在 Python 2 中运行时:

>>> print sys.path
['', '/Library/Python/2.7/site-packages/distribute-0.6.49-py2.7.egg', '/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python27.zip', '/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7', '/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-darwin', '/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac', '/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac/lib-scriptpackages', '/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python', '/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-tk', '/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-old', '/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-dynload', '/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/PyObjC', '/Library/Python/2.7/site-packages', '/Library/Python/2.7/site-packages/setuptools-0.6c11-py2.7.egg-info']

【问题讨论】:

  • which python 输出什么?
  • 您使用的是 System Python(OS X 附带的)吗?
  • $ which python /usr/bin/python
  • 不,我自己安装了最新版本的 Python - 谢谢
  • 当我在 Python 2.7 中时的 sys.path 是: >>> import sys >>> print sys.path ['', '/Library/Python/2.7/site-packages/distribute -0.6.49-py2.7.egg', '/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python27.zip', .....

标签: python pyside


【解决方案1】:

PySide 已安装到 /usr/local/lib/python2.7/site-packages,但 Python 不在那里;它正在查看/Library/Python/2.7/site-packages。此外,which python 给出了/usr/bin/python 而不是/usr/local/bin/python,因此您使用的是系统 Python。

前进的道路取决于你是想使用系统 Python 还是 Homebrew Python:

  • 系统 Python: 您需要将 /usr/local/lib/python2.7/site-packages 添加到您的 sys.path(可能在 /Library/Python/2.7/site.py 中)或将 PySide 移动到 /Library/Python/2.7/site-packages。 p>

  • Homebrew Python:您需要将/usr/local/bin 添加到您的PATH,可能是~/.bashrc

【讨论】:

  • 非常感谢,我想使用自制 python,但不能 100% 确定如何实施您将 /user/local/bin 添加到我的 PATH 的建议。如果您也能就此提出建议,那就太好了。
  • @jessminda:如果您编辑主目录中的.bashrc 文件,您可以添加类似export PATH="/usr/local/bin:$PATH" 的行。然后当你重启终端时,当你输入python时,它应该首先寻找/usr/local/bin/python,如果在那里,/usr/bin/python将永远不会参与。
  • @jessminda:如果这不起作用,您可能需要将. ~/.bashrc 添加到您的.bash_login 文件中。但这可能没有必要。
  • 再次感谢@icktoofay!我想我用这一行管理它:export PATH=/bin:/usr/local/bin:$PATH。现在 python 返回的 $ 行:/usr/local/bin/python。导入 PySide 功能也可以正常工作
  • 如何在 Windows 中解决这个问题?可以分享一下吗?
【解决方案2】:

对于windows用户情况几乎相同,当您安装了多个python解释器时遇到这种错误,并且您在一个安装中安装了PySide2并尝试使用其他安装运行您的代码安装。 为您的项目创建一个虚拟环境并在该虚拟环境中安装所有模块。它会避免这个问题。 希望它有效:)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-23
    • 1970-01-01
    • 2020-05-02
    • 2021-04-21
    • 2019-06-06
    • 2019-12-11
    相关资源
    最近更新 更多