如何在不使用sudo的情况下安装virtualenv?

时间:2012-02-19 11:47:58

标签: python django virtualenv pip easy-install

我有easy_installpip

我的 Linux Mint 12 上有很多错误,我刚刚重新安装它,我想再次从头开始安装。

This是我遇到的错误之一。我在那里收到了一个有趣的答案:

  

停止使用su和sudo来运行virtualenv   您需要以普通用户身份运行virtualenv   你用sudo创建了virtualenv,这就是你得到这些错误的原因。

那么如何在不使用virtualenv的情况下安装sudo?我可以在不使用pip的情况下使用easy_installsudo吗?或者还有另一种方式吗?

9 个答案:

答案 0 :(得分:27)

此解决方案适用于系统范围内没有virtualenv可用且您无法成为安装virtualenv的root用户的情况。当我为python开发或部署设置debian时,我总是apt-get install python-virtualenv。拥有它比使用下面指出的引导程序更方便。但如果没有根本权力,它可能是最佳选择:

有一个引导机制可以帮助你。

阅读:http://peak.telecommunity.com/DevCenter/EasyInstall#creating-a-virtual-python

实质上,您可以在unix环境中的主目录中执行此操作:

鉴于你的python是2.6版本


    $ mkdir ~/bin
    $ mkdir -p ~/lib/python2.6
    $ mkdir -p ~/local/lib/python2.6/dist-packages
    $ wget http://peak.telecommunity.com/dist/virtual-python.py
    $ python virtual-python.py --no-site-packages
    $ wget http://peak.telecommunity.com/dist/ez_setup.py
    $ ~/bin/python ez_setup.py
    $ ~/local/bin/easy_install virtualenv
    $ ~/local/bin/virtualenv --no-site-packages thereyouare

可能存在优化空间。我不喜欢local路径。只需binlib即可。但它确实发挥了作用。

答案 1 :(得分:15)

一般的想法是全局安装virtualenv,即sudo easy_install virtualenvsudo pip install virtualenv,然后创建实际的虚拟环境(“运行virtualenv”)本地。

答案 2 :(得分:10)

你也可以使用下面的命令,它对我没有sudo访问权限。 您可能还需要使用PYTHONPATHsee this SO answer for more details修改export环境变量。

pip install --user virtualenv

答案 3 :(得分:8)

http://opensourcehacker.com/2012/09/16/recommended-way-for-sudo-free-installation-of-python-software-with-virtualenv/建议如下:

curl -L -o virtualenv.py https://raw.githubusercontent.com/pypa/virtualenv/master/virtualenv.py
python virtualenv.py vvv-venv
. vvv-venv/bin/activate
pip install vvv

似乎运作良好。它允许我使用pip安装https://github.com/miohtama/vvv

如果你得到:

Cannot find sdist setuptools-*.tar.gz
Cannot find sdist pip-*.tar.gz

https://github.com/pypa/virtualenv/tree/develop/virtualenv_support

下载tarball后尝试--extra-search-dir

答案 4 :(得分:3)

This为我工作:

pip install --target=$HOME/virtualenv/ virtualenv
cd somewhere/
python $HOME/virtualenv/virtualenv.py env
. env/bin/activate

现在我可以pip install无论我想要什么(除了需要用gcc编译内容并缺少依赖项的所有内容,例如python开发库和Python.h)。

答案 5 :(得分:2)

我创造了一个便携式的" version of virtualenv

wget https://bitbucket.org/techtonik/locally/raw/tip/06.get-virtualenv.py
python 06.get-virtualenv.py

它将带有依赖关系的virtualenv.py脚本下载到.locally子目录中并从那里执行。完成后,可以将带有.locally / subdir的脚本复制到任何地方。

答案 6 :(得分:2)

基本上,我们的想法是将virtualenv(或任何其他python包)安装到${HOME}/.local中。这是最合适的位置,因为它默认包含在python路径中(而不仅仅是Python)。

您在pip3 install virtualenv --prefix=${HOME}/.local之前执行的操作(您可能需要展开{​​{1}})。 确保${HOME}中有export PATH=${HOME}/.local/bin:${PATH}(如果刚添加,您可能需要~/.profile

答案 7 :(得分:1)

您可能需要考虑使用Anaconda。它是一个成熟的Python发行版,它位于例如一个文件夹中。你的主目录。任何时候都不需要sudo,你可以获得大多数受欢迎的软件包。

$ wget https://.../Anaconda2-2.5.0-Linux-x86_64.sh # check the website for the exact URL, it can change
$ bash Anaconda2-2.5.0-Linux-x86_64.sh
$ conda install virtualenv

答案 8 :(得分:1)

我解决了为每个用户安装virtualenv的问题。

python3 -m pip install --user virtualenv