我已经建立了到远程服务器的 SSH 连接。我想在上面运行我的一些 python 程序,所以我必须下载我一直在使用的所有模块。
我刚刚下载了 Anaconda(我没有 root 访问权限,所以将它安装在 ~ 中)并将 ~/anaconda/bin 添加到我的 PATH 中。但是,当我在 Python 中尝试import numpy
时,它说找不到该模块。我该如何解决?
您可能正在运行错误版本的 Python。
要检查,请使用which -a python
james@bodacious:~$which -a python
/usr/bin/python
james@bodacious:~$
就我而言,我从 /usr/bin/python 运行版本,这是在我的 $PATH 中找到的唯一版本。您还应该在列表中看到来自 ~/anaconda/bin 的版本,并且要在您键入时运行python
它,它需要位于顶部。
如果不是,您可以检查您的 $PATH 并在必要时添加~/anaconda/bin
到它的前面。
james@bodacious:~$echo $PATH
/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Users/james/bin
james@bodacious:~$PATH=~/anaconda/bin:$PATH
james@bodacious:~$echo $PATH
/Users/james/anaconda/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Users/james/bin
james@bodacious:~$
我手头没有任何 Fedora/Redhat 系统,但我相信你可以:
yum install numpy
高温高压
您说过您真正想要的只是能够使用 numpy - 基于此,使用 anaconda 可能是矫枉过正。
听起来您真正要问的是“由于我没有 root 访问权限并且无法安装系统包,我如何在我的主目录中设置一个具有我需要的 python 环境?”
这听起来像是……超级格罗弗的工作!别等了,我的意思是 virtualenv。
希望您的系统已经为您安装了 virtualenv。如果是这样,您可以很容易地使用自己的一组包创建自己的环境:
james@bodacious:~$mkdir venv/
james@bodacious:~$cd venv/
james@bodacious:venv$virtualenv .
New python executable in ./bin/python
Installing Setuptools..............................................................................................................................................................................................................................done.
Installing Pip.....................................................................................................................................................................................................................................................................................................................................done.
james@bodacious:venv$source bin/activate
(venv)james@bodacious:venv$pip install numpy
Downloading/unpacking numpy
Downloading numpy-1.7.1.zip (3.1MB): 3.1MB downloaded
完成后,您将拥有自己的 numpy 副本,只需使用cd venv; source bin/activate
将 $PATH 和 $PYTHONPATH 设置为指向您的自定义安装,您就可以在此环境中访问它。
如果您还没有virtualenv
安装,事情会变得更加棘手......