删除sudo以运行python脚本

时间:2017-10-08 15:34:20

标签: python matplotlib permissions authorization 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代码?

2 个答案:

答案 0 :(得分:2)

当您的Python找不到模块时,会发生

ImportError: No module named 'matplotlib'sudo更改环境变量;这就是原因。

要解决此问题,请找到计算机中安装matplotlib的位置,并验证该文件夹是否属于sys.path

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

然后你有两个选择:从你的脚本中插入那条路径,即在你的用户下面添加一行import sys; sys.path.append(<folder>)或配置PYTHONPATH env变量,将文件夹附加到路径。

PYTHONPATH env变量在启动时加载到sys.path

答案 1 :(得分:0)

对我而言,最佳解决方案是所有项目的一般工作流程:使用virtualenviroment] 1

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

然后你应该用pip再次安装你的库,它们将安装在你的virtualenviroment中,与其他所有东西隔离。