Как установить virtualenv без использования sudo?
У меня есть easy_install
и pip
.
У меня было много ошибок на моем Linux Mint 12, я просто заново установил его, и я хочу снова установить все с нуля.
This - одна из ошибок, которые у меня были. Я получил там интересный ответ:
Прекратите использование su и sudo для запуска virtualenv.
Вам нужно запустить virtualenv как обычный пользователь.
Вы создали virtualenv с sudo, поэтому вы получаете эти ошибки.
Итак, как установить virtualenv
без использования sudo
? Могу ли я использовать pip
или easy_install
без использования sudo
? Или есть другой способ?
Ответы
Ответ 1
Это решение подходит в тех случаях, когда no virtualenv
доступно для всей системы, и вы не можете стать root для установки virtualenv
. Когда я настраивал debian для разработки или развертывания python, я всегда 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
будут приятными. Но он выполняет свою работу.
Ответ 2
Общая идея состоит в том, чтобы установить virtualenv
сам globaly, т.е. sudo easy_install virtualenv
или sudo pip install virtualenv
, но затем локально создать виртуальную среду ( "run virtualenv" ).
Ответ 3
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
Кажется, хорошо работает. Это позволяет мне установить https://github.com/miohtama/vvv с помощью pip
.
Если вы получаете:
Cannot find sdist setuptools-*.tar.gz
Cannot find sdist pip-*.tar.gz
Попробуйте --extra-search-dir
после загрузки tarballs в https://github.com/pypa/virtualenv/tree/develop/virtualenv_support
Ответ 4
Вы также можете использовать приведенную ниже команду, она работала для меня без доступа sudo
.
Вам также может потребоваться изменить переменную среды PYTHONPATH
, используя export
, чтобы увидеть этот ответ для более подробной информации.
pip install --user virtualenv
Ответ 5
Это > работало для меня:
pip install --target=$HOME/virtualenv/ virtualenv
cd somewhere/
python $HOME/virtualenv/virtualenv.py env
. env/bin/activate
Теперь я могу pip install
все, что захочу (кроме всего, что нужно компилировать с помощью gcc и имеет отсутствующие зависимости, такие как библиотеки разработки python и Python.h
).
Ответ 6
Я создал портативную версию версии virtualenv.
wget https://bitbucket.org/techtonik/locally/raw/tip/06.get-virtualenv.py
python 06.get-virtualenv.py
Загружает virtualenv.py
script с зависимостями в subdir .locally
и выполняет его оттуда. После этого script с .locally/subdir можно скопировать где угодно.
Ответ 7
В основном идея состоит в том, чтобы установить virtualenv (или любой другой пакет python) в ${HOME}/.local
. Это наиболее подходящее место, поскольку по умолчанию оно включено в путь python (и не только Python).
Что вы делаете с помощью pip3 install virtualenv --prefix=${HOME}/.local
(вам может понадобиться развернуть ${HOME}
).
Убедитесь, что у вас есть export PATH=${HOME}/.local/bin:${PATH}
в ~/.profile
(вам может понадобиться source ~/.profile
если он добавлен)
Ответ 8
Возможно, вам захочется использовать 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
Ответ 9
Самый простой способ, который я видел до сих пор, - установить Anaconda.
Это может быть излишним для вас. Для меня на centOS, работающем на удаленном сервере, был установлен только python2.6. Anaconda по умолчанию устанавливает все локально + это python2.7
curl -O https://repo.continuum.io/archive/Anaconda2-4.2.0-Linux-x86_64.sh
Тогда
bash Anaconda2-4.2.0-Linux-x86_64.sh
Boom. У вас есть все пакеты, такие как numpy и pip.
Затем, если вы хотите virtualenv, просто введите
pip install virtualenv