我有easy_install
和pip
。
我的 Linux Mint 12 上有很多错误,我刚刚重新安装它,我想再次从头开始安装。
This是我遇到的错误之一。我在那里收到了一个有趣的答案:
停止使用su和sudo来运行virtualenv 您需要以普通用户身份运行virtualenv 你用sudo创建了virtualenv,这就是你得到这些错误的原因。
那么如何在不使用virtualenv
的情况下安装sudo
?我可以在不使用pip
的情况下使用easy_install
或sudo
吗?或者还有另一种方式吗?
答案 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
路径。只需bin
和lib
即可。但它确实发挥了作用。
答案 1 :(得分:15)
一般的想法是全局安装virtualenv
,即sudo easy_install virtualenv
或sudo pip install virtualenv
,然后创建实际的虚拟环境(“运行virtualenv”)本地。
答案 2 :(得分:10)
你也可以使用下面的命令,它对我没有sudo
访问权限。
您可能还需要使用PYTHONPATH
,see this SO answer for more details修改export
环境变量。
pip install --user virtualenv
答案 3 :(得分:8)
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