在ubuntu16.04中,系统自带python2,我用anaconda安装了python3环境。现在运行一个main.py文件,该文件会创建目录和图片,需要root权限。
因此,我使用sudo python main.py
,出现错误,主要是提示numpy
、scipy
等等这些第三方库均未安装。但是我确实已经在conda环境中安装了。
为什么会出现这种问题?
1. sudo python和python的区别
在conda环境中,使用sudo python
即为使用系统默认的python,因为ubuntu16.04是默认python2,所以sudo python
默认使用python2,故而报错。
2. 解决方案
参考博客《sudo python manage.py runserver 报错 invalid syntax from exc》
在sudo
后指明所需要使用的python
路径。比如我这里,需要使用anaconda创建的pytorch1.8环境中的python,该python的绝对路径为/home/user/anaconda3/envs/pytorch1.8/bin/python
,所以输入命令为
sudo /home/user/anaconda3/envs/pytorch1.8/bin/python main.py