我在Google Cloud Compute环境中安装了Anaconda,可以作为普通用户从shell成功使用它:
curt@lamp-v5mi:~$ python
Python 2.7.9 |Anaconda 2.2.0 (64-bit)| (default, Mar 9 2015, 16:20:48)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-1)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
Anaconda is brought to you by Continuum Analytics.
Please check out: http://continuum.io/thanks and https://binstar.org
但是,当我通过启动口译员时sudo python
,anaconda不是使用的口译员,我希望这样做。
curt@lamp-v5mi:~$ sudo python
Python 2.7.3 (default, Mar 13 2014, 11:03:55)
[GCC 4.7.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
令人困惑的是,当我以root身份启动shell然后启动解释器时,anaconda是使用的解释器。
curt@lamp-v5mi:~$ sudo -s
root@lamp-v5mi:/home/curt# python
Python 2.7.9 |Anaconda 2.2.0 (64-bit)| (default, Mar 9 2015, 16:20:48)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-1)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
Anaconda is brought to you by Continuum Analytics.
Please check out: http://continuum.io/thanks and https://binstar.org
我export PATH="/anaconda/bin:$PATH"
在根目录和普通帐户中都有.bashrc
文件。起初,我认为问题sudo python
实际上不是启动根外壳程序,因此export PATH="/anaconda/bin:$PATH"
实际上并没有完成。但是从我的正常帐户执行操作时sudo echo $PATH
,它在那里显示了蟒蛇:
curt@lamp-v5mi:~$ sudo echo $PATH
/anaconda/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games
anaconda安装程序是作为root用户安装的/anaconda
,我做了一个chmod -R 770 /anaconda
使其对普通用户可用的安装程序,但我认为此问题与这无关。
从命令行运行时,如何使anaconda成为默认解释器sudo
?
您几乎一切都正确。唯一的错误是sudo echo $PATH
,其中$ PATH在发送到sudo之前已被替换,因此显示的是您的用户PATH而非显示的“ sudoed” PATH。
请注意,您的sudo实现和配置可能会更改PATH变量,因为我可以读到“ man sudo”(因为我没有sudo,所以可以从Internet找到):
PATH
May be overridden by the security policy.
因此,在您的“ sudoed”路径中,可能没有 /anaconda/bin/
您可以使用进行测试sudo env | grep PATH
。
要在您的sudo环境中允许或更改PATH环境变量,我只能将您引导到您的man sudo
,再次:我不是sudo用户。
我唯一要放弃的是sudo $(which python)
,如中所述sudo echo $PATH
,$(which python)
将由您的用户执行,导致/anaconda/bin/python
,因此实际运行sudo /anaconda/bin/python
是另一个“解决方案”。
总结一下,我应该警告您,您可能不想以root身份运行Python,几乎没有正当的理由这样做,因此您的问题可能是XY问题:您遇到了第一个问题,您自己得出结论可以通过以root用户身份运行Python来解决,您尝试了sudo,被sudo更改了命中PATH
,然后在此处发布了“第二级”问题。您的“真正问题”是什么?触发了“哼,我应该尝试sudo”的那个?
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句