python virtualenv安装的包无法导入

时间:2015-06-06 03:25:24

标签: python python-2.7 virtualenv

有一个奇怪的问题。我在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

1 个答案:

答案 0 :(得分:1)

当你运行sudo python时,你没有从virtualenv环境运行python解释器。这是因为sudo运行命令在系统的PATH环境变量中进行搜索,并且它不会查看用户的PATH(这是virtualenv的解释器所在的位置,通常位于{ {1}})。

尝试仅运行~/.virtualenvs/VIRTUALENV_NAME/bin/python - 只要您不需要特殊权限(例如使用低端口号),它就可以正常运行。