如何在不使用sudo的情况下安装virtualenv?
如何在不使用sudo的情况下安装virtualenv?
我已经安装了easy_install
和pip
。\n在我的Linux Mint 12上发生了很多错误,我刚刚重新安装了它,想要重新从头开始安装所有的东西。\n这是我遇到的错误之一。我在那里收到了一个有趣的答案:\n
\n停止使用su和sudo来运行virtualenv。
\n 你需要以普通用户身份运行virtualenv。
\n 你使用sudo创建了虚拟环境,这就是为什么你会遇到这些错误的原因。\n
\n那么如何在不使用sudo的情况下安装virtualenv
呢?我可以使用pip
或easy_install
吗?还是有其他方法?
问题出现的原因是没有使用sudo
权限安装virtualenv。解决方法是使用pip install --user virtualenv
命令进行安装,同时可能需要通过export
命令来修改PYTHONPATH
环境变量。具体细节可以参考这个Stack Overflow的回答。
在某些情况下,系统中没有安装virtualenv,而且你没有root权限来安装virtualenv。当我为python开发或部署设置debian时,我总是使用apt-get install python-virtualenv来安装virtualenv,这比下面要介绍的bootstrap机制更方便。但是如果没有root权限,可以尝试以下方法:
在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会更好。但是它已经能够完成工作了。
感谢你的解决方案!使用python virtual-python.py --no-site-packages --prefix=`pwd`,我们可以将virtual-python安装到除了家目录以外的文件夹,以防止目录污染。
使用-p开关,你只需要第三行……递归创建目录就会自动发生。
也许这对于较旧的版本的virtualenv是有效的。现在,如果你想在没有root权限的机器上运行virtualenv:下载并解压缩其中一个:https://github.com/pypa/virtualenv/releases,然后运行python virtualenv.py /path/to/new/virtualenv/to/create。