我正在使用运行CentOS的linux机器。我没有完整的sudo权限和已经安装在机器上的多个版本的python,整个事情有点乱,像numpy这样的东西不起作用,我需要安装依赖它的模块。
我想知道是否可以将python(希望是R)安装到我自己的主目录或其他东西中,然后将我需要的模块安装到该目录中并从那里运行我需要的东西?
由于
答案 0 :(得分:4)
尝试使用virtualenv。当然,这假设您的系统已经安装了virtualenv。
https://pypi.python.org/pypi/virtualenv
基本用法:
virtualenv venv
在您当前的文件夹中创建一个名为“venv”的目录。它会放入适当的python
和pip
二进制文件。
进入虚拟环境:
. venv/bin/activate
或等效地:
source venv/bin/activate
这是关键一步。从那时起,使用pip
安装的任何软件包都将是我们上面创建的virtualenv文件夹的本地软件包。在安装软件包和运行程序之前,请记住执行上述步骤。正在运行python
也将使用virtualenv中的python
。
您应该看到类似的内容:
(venv)[username@host]$
在你的shell上。
使用pip安装软件包:
pip install packagename
这将为我们在第一步中创建的virtualenv安装包。
pip
使用requirements.txt
文件来指定python程序所需的包。如果您有requirements.txt
文件,则可以使用:
pip install -r requirements.txt
安装该文件中指定的包。
用于运行python程序:
python programName
或使用您需要的相关命令。根据我迄今为止的有限经验,我已经为网络应用程序运行gunicorn
。这将使用我们的virtualenv中的python
和相关库。
要停用virtualenv,请使用:
deactivate
希望有所帮助!
答案 1 :(得分:2)
创建一个安装自己软件的目录:
mkdir -p ~/sw/src
cd ~/sw/src
将Python源代码下载并解压缩到此目录中。将其配置为安装到~/sw
,然后进行编译(确保所有必需的标头都可用,如果您要使用urllib2
打开HTTPS网址,请注意SSL的标题:)
./configure --prefix=$HOME/sw
make
make install
最后,将PATH
设置为$HOME/sw/bin
中包含.bashrc
(或类似的shell启动文件)。现在运行python
。
R应该同样有效。
答案 2 :(得分:0)
如果您的系统安装了gcc,您可以考虑从源代码构建,如下所述:Python {1} {}或此处: Python 3.3 http://hg.python.org/cpython/file/2.7/README
通过这种方式,您一定会有一个干净的安装。即使使用私有安装,使用virtualenv仍然是一个好主意。
答案 3 :(得分:0)
只是为之前的答案添加一些其他信息。
Python 3有自己的轻量级虚拟环境。因此,如果您使用Python 3(由您的系统提供或自行构建),您只需运行:
python -m venv my_env
这将在my_env
目录中创建隔离的环境。
运行python -m venv --help
以获得一些帮助。
答案 4 :(得分:0)
我不是专家,但我希望它能对某人有所帮助。
我已经按照步骤进行操作,并且能够为一个用户安装python。
http://thelazylog.com/install-python-as-local-user-on-linux/