python - 没有名为 X 的模块,即使它在那里
问题描述
在尝试运行用 Python2 编写的应用程序时,我遇到了导入错误,但是在查看文件时,它们都在那里?
所有与python2-6相关的文件:
python2-six /usr/
python2-six /usr/lib/
python2-six /usr/lib/python2.7/
python2-six /usr/lib/python2.7/site-packages/
python2-six /usr/lib/python2.7/site-packages/six-1.11.0-py2.7.egg-info/
python2-six /usr/lib/python2.7/site-packages/six-1.11.0-py2.7.egg-info/PKG-INFO
python2-six /usr/lib/python2.7/site-packages/six-1.11.0-py2.7.egg-info/SOURCES.txt
python2-six /usr/lib/python2.7/site-packages/six-1.11.0-py2.7.egg-info/dependency_links.txt
python2-six /usr/lib/python2.7/site-packages/six-1.11.0-py2.7.egg-info/top_level.txt
python2-six /usr/lib/python2.7/site-packages/six.py
python2-six /usr/lib/python2.7/site-packages/six.pyc
python2-six /usr/lib/python2.7/site-packages/six.pyo
python2-six /usr/share/
python2-six /usr/share/licenses/
python2-six /usr/share/licenses/python2-six/
python2-six /usr/share/licenses/python2-six/LICENSE
运行程序时:
File "/usr/lib/python2.7/site-packages/configobj.py", line 22, in <module>
import six
ImportError: No module named six
我的 Python2.7 的 PYTHONPATH 是:
/usr/lib/python27.zip
/usr/lib/python2.7
/usr/lib/python2.7/plat-linux2
/usr/lib/python2.7/lib-tk
/usr/lib/python2.7/lib-old
/usr/lib/python2.7/lib-dynload
/usr/lib/python2.7/site-packages
/usr/lib/python2.7/site-packages/gtk-2.0
为什么模块没有被拾取?我应该提到我在 Arch Linux 上,Python 2.7 和 Python 3.7 并排运行。/usr/bin/python 被符号链接到 python3。
解决方案
这通常意味着您的环境设置不正确。虚拟环境不仅仅是对bin
路径进行符号链接。
虽然在 python 3 中你可以这样做python -m venv venv_name
,但在 python 2 中你需要创建一个虚拟环境才能运行。
你是如何创建你的 virtualenv 的?
我会激活环境;source /path/to/bin/activate
.
使用pip list
命令,看看它说什么。
推荐阅读
- oracle - 如何计算在某个日期 (M) 之前的某个日期 (X) 创建并在 (M) 之后解决的票证 (Tickets)
- java - 感兴趣的是最新版本的 JDK 不包含 tools.jar 以及在哪里可以找到它
- java - 如何在 Java 应用程序代码中构建参数化密码查询?
- drools - 是否有支持将 Drools 规则导出到 XML 的方法
- audio - Flutter:为后台执行安排音频事件
- list - 我有以下字符串列表,但我想应用过滤器,以便我可以从列表中获取某些项目。如何做到这一点?
- php - 从连接表中获取数据的问题
- haskell - 实例声明并将字符串转换为 Maybe 类型
- azure - 为什么服务结构服务的分区策略绑定到分区而不是服务?
- c - 有没有办法检查 Web 服务器远程支持的最大并发 tcp 连接数?