Подтвердить что ты не робот

Как установить virtualenv без использования sudo?

У меня есть easy_install и pip.

У меня было много ошибок на моем Linux Mint 12, я просто заново установил его, и я хочу снова установить все с нуля.

This - одна из ошибок, которые у меня были. Я получил там интересный ответ:

Прекратите использование su и sudo для запуска virtualenv.
Вам нужно запустить virtualenv как обычный пользователь.
Вы создали virtualenv с sudo, поэтому вы получаете эти ошибки.

Итак, как установить virtualenv без использования sudo? Могу ли я использовать pip или easy_install без использования sudo? Или есть другой способ?

4b9b3361

Ответ 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

Ответ 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