2017-10-08 138 views
1

每當我需要與運行我的Python程序:刪除sudo來運行python腳本

python my_program.py 

我得到一些錯誤,指出部分進口沒有被發現。

有些錯誤是這樣的:

Traceback (most recent call last): 
    File "graphic.py", line 1, in <module> 
    import matplotlib.pyplot as plt 
ImportError: No module named 'matplotlib' 

比我跑:

sudo python my_program.py 

而且每一件事情的工作就好了。我如何刪除sudo命令來運行我的python代碼?

+0

似乎你在sudo下安裝Python,所以沒有sudo的後來的命令無法訪問具有root權限的文件夾。嘗試重新安裝python,切記不要始終使用sudo來安裝東西,否則可能會破壞權限管理。 –

+0

[無法導入肯定已安裝(機械化)的python模塊]可能的重複(https://stackoverflow.com/questions/14295680/cannot-import-a-python-module-that-is-definitely-installed-mechanize ) – thatrockbottomprogrammer

回答

2

ImportError: No module named 'matplotlib'當你的Python找不到該模塊時發生。 sudo更改環境變量;這就是爲什麼。

若要解決此問題,請在您的計算機上找到matplotlib的安裝位置,並確認該文件夾是您的sys.path的一部分。

import sys 
sys.path 
['C:\\Python27\\tests', ..., ...] 

那麼你兩個選擇:從插入你的腳本,即增加用戶下成一線,import sys; sys.path.append(<folder>)或配置PYTHONPATH環境變量的文件夾附加到路徑路徑。

PYTHONPATH env變量在啓動時被加載到sys.path

+0

我不明白第二個選項,我怎麼配置PYTHONPATH? –

0

對我來說最好的解決方案是所有項目的一般工作流程:使用virtualenviroment] 1

sudo pip3 install virtualenv 
virtualenv myenv 
source mynenv/bin/activate 

那麼你應該PIP重新安裝你的圖書館,它們將被安裝在您的virtualenviroment,從一切隔離。