运行 Enthought Canopy Python 作为 root 无法导入 pandas

Running Enthought Canopy Python as root cannot import pandas

我想使用 Enthought Canopy Python 从命令行调用 python 脚本来访问可能需要 root 权限的文件和目录。但是 运行ning python 作为 root 给我系统分配 python.

$ python

Enthought Canopy Python 2.7.6 | 64-bit | (default, Sep 15 2014, 17:36:10) 
[GCC 4.1.2 20080704 (Red Hat 4.1.2-54)] on linux2
Type "help", "copyright", "credits" or "license" for more information.

$ sudo python

Python 2.7.6 (default, Mar 22 2014, 22:59:56) 
[GCC 4.8.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.

使用默认 bash 终端 (Ubuntu Linux 14.04) 和使用 canopy 命令行 (Canopy 1.5.2) 的结果相同。

我以 root 身份重新安装了 Canopy(即以 root 身份重新运行 shell 脚本),同样的问题仍然出现。

有没有简单的方法 运行 Canopy 作为 root?我并不是要将它分发给系统上的多个用户,只是 运行 需要 root 权限的文件上的 python 脚本。

听起来 sudo 没有使用您当前的 PATH 设置将可执行文件定位到 运行。 IIRC 这是 sudo 的配置选项,是否使用有限的默认 PATH。

解决此问题的一种简单方法是指定要执行的 python 可执行文件的完整路径。例如,如果你已经激活了一个 Canopy 虚拟环境,那么你可以这样做:

$ sudo $VIRTUAL_ENV/bin/python