有一个奇怪的问题。我在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
答案 0 :(得分:1)
当你运行sudo python
时,你没有从virtualenv环境运行python解释器。这是因为sudo运行命令在系统的PATH环境变量中进行搜索,并且它不会查看用户的PATH(这是virtualenv的解释器所在的位置,通常位于{ {1}})。
尝试仅运行~/.virtualenvs/VIRTUALENV_NAME/bin/python
- 只要您不需要特殊权限(例如使用低端口号),它就可以正常运行。