无法从sudo获得Anaconda python

柯特F.

我在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

朱利安·帕拉德(Julien Palard)

您几乎一切都正确。唯一的错误是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] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在sudo上运行Anaconda Python

来自分类Dev

无法获得基本的Python脚本

来自分类Dev

Ubuntu,Anaconda:无法导入python shapely包

来自分类Dev

安装Anaconda后无法安装Python模块

来自分类Dev

无法使用Anaconda为Python安装spacy

来自分类Dev

Ubuntu,Anaconda:无法导入python shapely包

来自分类Dev

无法获得结果以显示在python应用中

来自分类Dev

python-无法在Tkinter中获得按键

来自分类Dev

python tkinter.Radiobutton无法获得价值

来自分类Dev

Python:无法使用beautifulsoup获得任何输出

来自分类Dev

无法成功从python中的函数获得返回

来自分类Dev

无法在python中获得正确的输出

来自分类Dev

Python-无法获得最小值

来自分类Dev

为什么无法在Python中获得响应?

来自分类Dev

python字典,无法获得正确的值

来自分类Dev

使用 Python 无法获得正确的图形比较

来自分类Dev

无法在Anaconda上获得张量流

来自分类Dev

PyCharm无法运行程序C:\\ Anaconda \\ python.exe

来自分类Dev

我无法为python3安装anaconda

来自分类Dev

无法导入通过pip安装的模块(anaconda python)

来自分类Dev

无法在Python 3.7 / Spyder / Anaconda上运行csv模块

来自分类Dev

无法在Anaconda(Spyder)中为python安装googleads模块

来自分类Dev

无法使用Anaconda安装适用于Python的Keras

来自分类Dev

Python无法找到没有安装Anaconda的软件包

来自分类Dev

Python anaconda conda问题:无法更新anaconda软件包,因为进程正在运行

来自分类Dev

当IF无法获得json响应时,Python Else无法通过

来自分类Dev

在Ubuntu 15.10中无法终止使用python创建的sudo进程

来自分类Dev

无法使用sudo使用Python访问环境变量

来自分类Dev

PHP passthru:无法从python脚本获得完整响应

Related 相关文章

热门标签

归档