我在使用pythonicode时遇到了问题,所以我在/usr/local/bin/python上重新安装了python,并使用了“-enable unicode=ucs4”选项。我把python模块的所有路径都添加到~/.bashrc中,当我以普通用户身份运行时,我可以导入模块,但当我以sudo的身份运行时,我无法导入模块
iury@buzios:~$ /usr/local/bin/python
Python 2.7.6 (default, Aug 20 2015, 11:57:25)
[GCC 4.8.4] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import numpy
>>>
iury@buzios:~$ sudo /usr/local/bin/python
Python 2.7.6 (default, Aug 20 2015, 11:57:25)
[GCC 4.8.4] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import numpy
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named numpy
>>>
正如其名称所示,环境变量被分配给您自己的用户。这意味着,如果您以root用户身份运行程序(使用sudo),则不会将它们“分配”给程序,因为它是在root用户的环境中运行的。一种解决方法是在sudo命令之后设置环境变量:
sudo env PATH=$PATH VAR1=SOME_VALUE VAR2=SOME_VALUE
正如this问题中的答案所示,您可以将此导出添加到您的./bashrc中作为解决方法:
alias sudo='sudo env PYTHONPATH=[PATH] PYTHON=[OTHERPATH] ... ./thescript.py
另外,正如注释中提到的,请确保您需要以sudo的形式运行python,因为在不真正需要的情况下,不建议使用它。在
相关问题 更多 >
编程相关推荐