2017-02-21 10 views
1

Моя система работает CentOS 6. У меня нет доступа администратора, поэтому sudo недоступен. Я имею Python 2.7.3, а также pip и virtualenv. Я надеялся, что смогу использовать их для создания новой виртуальной среды, в которой для установки & запустите Python 3.5 или выше.Как создать виртуальную среду Python 3.5 с помощью Python 2.7?

Я попробовал метод, описанный здесь: Using Python 3 in virtualenv

Но получил эту ошибку:

$ virtualenv -p python3 venv 
The path python3 (from --python=python3) does not exist 

Моя система также имеет Python установлен 3,4 модуля, поэтому я попытался что, однако virtualenv не кажется, работать там:

$ module load python/3.4.3 
$ virtualenv -p python3 venv 
-bash: virtualenv: command not found 

Это, кажется, имеет смысл, так как virtualenv устанавливается только для Python 2.7 :

$ module unload python 
$ module load python/2.7 
$ which virtualenv 
/local/apps/python/2.7.3/bin/virtualenv 

Таким образом, кажется, следующий логический шаг был бы быть установкой virtualenv для моего Python 3 ... но это не работает, либо:

$ pip3 install virtualenv 
Traceback (most recent call last): 
    File "/local/apps/python/3.4.3/bin/pip3", line 7, in <module> 
    from pip import main 
ImportError: cannot import name 'main' 

также

$ pip3 install --user virtualenv 
Traceback (most recent call last): 
    File "/local/apps/python/3.4.3/bin/pip3", line 7, in <module> 
    from pip import main 
ImportError: cannot import name 'main' 

I запустил Google новое сообщение об ошибке, но не видел ничего, что казалось бы подходящим для этой ситуации. Есть идеи? Даже если я смогу получить virtualenv, установленный на моем модуле Python 3.4, я все равно не смогу его обновить до Python 3.5+?

Чтобы закруглить вещи, я также пытался скомпилировать свой собственный Python 3.6 из источника, но это не работает, либо:

Python-3.6.0$ make install 
if test "no-framework" = "no-framework" ; then \ 
     /usr/bin/install -c python /usr/local/bin/python3.6m; \ 
    else \ 
     /usr/bin/install -c -s Mac/pythonw /usr/local/bin/python3.6m; \ 
    fi 
/usr/bin/install: cannot create regular file `/usr/local/bin/python3.6m': Permission denied 
make: *** [altbininstall] Error 1 

более сопутствующая информация:

$ which pip3 
/local/apps/python/3.4.3/bin/pip3 

$ which python 
/local/apps/python/3.4.3/bin/python 
+0

для создания virtualenv для python3.5, у вас должен быть установлен python3.5 на вашей ОС; вы можете открыть оболочку python 'python3'? Я думаю, что это должно быть 'virtualenv python3.4 venv' при создании virtualenv на основе python3.4 – haifzhan

+0

Так как я не могу установить Python 3.x из исходного кода, я предполагаю, что мне будет невозможно установить Python 3.5+, тогда ? Запуск 'virtualenv -p /local/apps/python/3.4.3/bin/python venv', похоже, корректно создает виртуальную среду, хотя по-прежнему не работает Python 3.5+ по мере необходимости. – user5359531

ответ

4

Вы можете скачать miniconda или Anaconda. Он не требует привилегий суперпользователя, поскольку он устанавливается в вашем домашнем каталоге.После установки вы можете создать новую среду, как это:

conda create -n py35 python=3.5 

Затем вы можете перейти к новой среде:

source activate py35 
+0

Похоже, что это работает после запуска 'module unload python' в моей системе, чтобы очистить загруженные Pythons, а затем запустить' export PYTHONPATH =/home/user/anaconda3/bin: $ PYTHONPATH; export PATH =/home/user/anaconda3/bin: $ PATH 'для установки правильных переменных пути – user5359531

1

Попробуйте следующее команды:

pip3 install virtualenv 
pip3 install virtualenvwrapper 
mkdir ~/.virtualenvs 
export WORKON_HOME=~/.virtualenvs 
source /usr/local/bin/virtualenvwrapper.sh 
source ~/.bash_profile 
which python3 

Теперь скопируйте результат пути python3 в последнюю команду и поместите его в f команда ollowing:

mkvirtualenv --python=python3/path/in/last/command myenv 

Я предполагаю, что pip3 уже установлен. Если нет, установите его перед запуском этих команд.

Источник: https://docs.coala.io/en/latest/Help/MAC_Hints.html#create-virtual-environments-with-pyvenv

(.. У меня есть доступ SUDO на моей машине я не пробовал команду без него Пожалуйста, поста, если приходят какие-либо вопросы.)

Поскольку вы уже virtualenv установили, вам может потребоваться только обновить файлы, а затем запустить команду mkvirtualenv с правильными аргументами.

+0

Я обновил OP с помощью команд 'pip3 install' (то же сообщение об ошибке), а также' which python3'. – user5359531

0

Попробуйте для Windows,.

virtualenv -p C:\Python35\python.exe django_concurrent_env 
cd django_concurrent_env 
.\Source\activate 
deactivate 
Смежные вопросы