python 无法导入 virtualenv 安装包
python virtualenv installed packages cannot be imported
有个奇怪的问题。我在 python venv 中安装了一个模块 (cherrypy),但我的脚本无法导入它。是不是我安装的方式有问题?
(venv)[leon@leon-1 project]$ sudo python server.py
Traceback (most recent call last):
File "server.py", line 2, in <module>
import cherrypy
ImportError: No module named cherrypy
(venv)[leon@leon-1 project]$ pip install cherrypy
Requirement already satisfied (use --upgrade to upgrade): cherrypy in ./venv/lib/python2.7/site-packages
当你 运行 sudo python
时,你不是 运行 从 virtualenv 环境中安装 python 解释器。这是因为 sudo 运行 命令在系统的 PATH 环境变量中搜索,它不会在用户的 PATH 中查找(这是 virtualenv 的解释器所在的位置,通常在 ~/.virtualenvs/VIRTUALENV_NAME/bin/python
下)。
仅尝试 运行ning python server.py
-- 只要您不需要特殊权限(例如使用低端口号),它应该可以工作。
有个奇怪的问题。我在 python venv 中安装了一个模块 (cherrypy),但我的脚本无法导入它。是不是我安装的方式有问题?
(venv)[leon@leon-1 project]$ sudo python server.py
Traceback (most recent call last):
File "server.py", line 2, in <module>
import cherrypy
ImportError: No module named cherrypy
(venv)[leon@leon-1 project]$ pip install cherrypy
Requirement already satisfied (use --upgrade to upgrade): cherrypy in ./venv/lib/python2.7/site-packages
当你 运行 sudo python
时,你不是 运行 从 virtualenv 环境中安装 python 解释器。这是因为 sudo 运行 命令在系统的 PATH 环境变量中搜索,它不会在用户的 PATH 中查找(这是 virtualenv 的解释器所在的位置,通常在 ~/.virtualenvs/VIRTUALENV_NAME/bin/python
下)。
仅尝试 运行ning python server.py
-- 只要您不需要特殊权限(例如使用低端口号),它应该可以工作。