2015-06-06 88 views
0

有一個奇怪的問題。我將一個模塊(cherrypy)安裝到python venv中,但是我的腳本無法導入它。我安裝它的方式有問題嗎?python virtualenv安裝的軟件包無法導入

(venv)[[email protected] 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)[[email protected] project]$ pip install cherrypy 
Requirement already satisfied (use --upgrade to upgrade): cherrypy in ./venv/lib/python2.7/site-packages 
+1

你不應該用sudo來運行它。直接以'python server.py'運行 –

回答

1

當您運行sudo python時,您沒有從virtualenv環境運行python解釋器。這是因爲sudo運行命令在系統的PATH環境變量中搜索,並且它不會查看用戶的PATH(這是virtualenv的解釋器所在的位置,通常在~/.virtualenvs/VIRTUALENV_NAME/bin/python之下)。

嘗試只運行python server.py - 只要您不需要特殊權限(如使用低端口號),它就應該可以工作。