2017-08-14 11 views
26

uruchamiając następujące:konfigurowania środowiska w virtaulenv użyciu python3 przyklejonych na setuptools PIP, koła

virtualenv -p python3 venv

daje:

Running virtualenv with interpreter /usr/bin/python3 
Using base prefix '/usr' 
New python executable in /specific/a/home/cc/students/csguests/taivanbatb/venv/bin/python3 
Also creating executable in /specific/a/home/cc/students/csguests/taivanbatb/venv/bin/python 
Installing setuptools, pip, wheel... 

czyli tam, gdzie to utknie.

Wywołanie CTRL-C daje:

File "/usr/local/bin/virtualenv", line 11, in <module> 
    sys.exit(main()) 
    File "/usr/local/lib/python2.7/dist-packages/virtualenv.py", line 671, in main 
Traceback (most recent call last): 
    File "/usr/local/lib/python2.7/dist-packages/virtualenv.py", line 2328, in <module> 
    raise SystemExit(popen.wait()) 
    File "/usr/lib/python2.7/subprocess.py", line 1376, in wait 
    pid, sts = _eintr_retry_call(os.waitpid, self.pid, 0) 
    File "/usr/lib/python2.7/subprocess.py", line 476, in _eintr_retry_call 
    return func(*args) 
KeyboardInterrupt 
    main() 
    File "/usr/local/lib/python2.7/dist-packages/virtualenv.py", line 713, in main 
    symlink=options.symlink) 
    File "/usr/local/lib/python2.7/dist-packages/virtualenv.py", line 945, in create_environment 
    download=download, 
    File "/usr/local/lib/python2.7/dist-packages/virtualenv.py", line 901, in install_wheel 
    call_subprocess(cmd, show_stdout=False, extra_env=env, stdin=SCRIPT) 
    File "/usr/local/lib/python2.7/dist-packages/virtualenv.py", line 769, in call_subprocess 
    line = stdout.readline() 
KeyboardInterrupt 

podobne do this.

Zgodnie z sugestią w połączonym pytaniu, próbowałem zainstalować z --no-wheel, ale bezskutecznie. I jestem pewien, że to nie jest problem z łącznością sieciową, ponieważ ustawienie środowiska przy użyciu python2 przy użyciu virtualenv env nie powoduje błędów.

Poszczególne wersje wszystkich pakietów używam są następujące:

python 3.4.0 python 2.7.6 virtualenv 15.1.0

+0

Widziałem, że przed, jak również. [To obejście] (https://stackoverflow.com/a/43623195/2296458) wydaje się działać, ale nadal nie mam żadnego wyjaśnienia, dlaczego zawieszanie się dzieje w pierwszej kolejności. – CoryKramer

+0

@CoryKramer obejście obejścia problemu nie działa, jeśli używam python3 takich jak 'virtualenv -p python3 venv --no-wheel' ... nadal utknął –

+0

Jakiej wersji systemu operacyjnego używasz? – kshikama

Odpowiedz

11

1.Sprawdź połączenia z internetem.

2. Ustaw python3 jako domyślny interpreter python, ponieważ masz python2.7 jako domyślny interpreter python. Spróbuj użyć bez koła poprzez: -
virtualenv venv --no-wheel a następnie aktywować virtualenv i uruchomić: -

pip install --upgrade pip 
pip install setuptools --no-use-wheel --upgrade 
pip install wheel --no-cache 

Jeśli jesteś za pełnomocnika następnie użyć: -
sudo pip download setuptools pip wheel --proxy http://<yourproxyhere>

Po tym wszystkim virtualenv -p python3 venv pracuje w moim virtualenv idealnie.
UWAGA: Zakładając, że środowisko wirtualne jest już ustawione w twoim systemie i python3 jest twoim domyślnym interpreterem.

Alternatywnie, nie trzeba wykonywać virtualenv -p python3 venv. Możesz określić interpreter python (obecny w katalogu/usr/bin/*), którego chcesz używać w virtualenv i używać go w ten sposób: -
virtualenv --python =/usr/bin/pythonX.Y /home/login/ścieżka/do/virtualenv_name

jeśli chcesz zainstalować w bieżącym katalogu roboczym można użyć: -
virtualenv --python =/usr/bin/pythonX.Y virtualenv_name
REFERENCE

0

Twój ślad stosu wskazuje, że używasz virtualenv z instalacji 2.7. To wskazywałoby, że twoja PATH nie jest ustawiona na 3.x. Uruchom nową powłokę, ustaw ścieżkę, aby /usr/local/lib/python2.7 na niej nie było, i spróbuj ponownie.

0

virtualenv to tylko pakiet python. Możesz go zainstalować zarówno na python2, jak i python3.

Z mojego doświadczenia, virtualenv na python3 dobrze obsługuje obie wersje python. Twój stacktrace pokazuje, że używasz virtualenv dla python2 - spróbuj przełączyć na python3.

Aby go zainstalować na python3 uruchom

pip3 install virtualenv 

lub, jeśli trzeba użyć apt-get z jakiegoś powodu,

apt-get install python3-virtualenv 
Powiązane problemy