데비안 8(jessie) - python3.6을 사용하는 virtualenv

데비안 8(jessie) - python3.6을 사용하는 virtualenv

그래서 데비안을 새로 설치했습니다. Python 3.5, 3.6, 3.7이 설치되어 있습니다.

root@m2:~# apt-get install python3.{5,6,7}-dev

그리고 virtualenv를 설정해 보세요:

for i in 5 6 7 ; do dir=venv3.$i; echo $dir; mkdir $dir; virtualenv $dir --python=python3.$i; done

결과:

-------------
venv3.5
Running virtualenv with interpreter /usr/bin/python3.5
Using base prefix '/usr'
New python executable in /root/venv3.5/bin/python3.5
Also creating executable in /root/venv3.5/bin/python
Installing setuptools, pip, wheel...done.
-------------
venv3.6
Running virtualenv with interpreter /usr/bin/python3.6
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/dist-packages/virtualenv.py", line 25, in <module>
    import distutils.spawn
ModuleNotFoundError: No module named 'distutils.spawn'
-------------
venv3.7
Running virtualenv with interpreter /usr/bin/python3.7
Using base prefix '/usr'
/usr/local/lib/python2.7/dist-packages/virtualenv.py:1047: DeprecationWarning: the imp module is deprecated in favour of importlib; see the module's documentation for alternative uses
  import imp
New python executable in /root/venv3.7/bin/python3.7
Also creating executable in /root/venv3.7/bin/python
Installing setuptools, pip, wheel...done.

Python 3.6에서 이 문제를 해결하는 방법을 아시나요?

정확한 버전은 다음과 같습니다.

root@m2:~# dpkg-query -s python3.6
Package: python3.6
Status: install ok installed
Priority: optional
Section: python
Installed-Size: 326
Maintainer: Matthias Klose <[email protected]>
Architecture: amd64
Multi-Arch: allowed
Version: 3.6.8-1

한편, 일부 오래된 시스템에는 debian 8과 python3.6도 있는데 잘 작동합니다.

root@m1:~# dpkg-query -s python3.6
Package: python3.6
Status: install ok installed
Priority: optional
Section: python
Installed-Size: 315
Maintainer: Matthias Klose <[email protected]>
Architecture: amd64
Multi-Arch: allowed
Version: 3.6.6-4

root@m1:~# virtualenv venv3.6 --python=python3.6
Running virtualenv with interpreter /usr/bin/python3.6
Using base prefix '/usr'
New python executable in /root/venv3.6/bin/python3.6
Also creating executable in /root/venv3.6/bin/python
Installing setuptools, pip, wheel...
done.

답변1

나는 또한 같은 문제에 직면했다.데비안 테스트/스포일러: 그것이 python3목표 이므로 다음과 같이 python3.7새로운 가상 환경을 시작하십시오.python3.6데비안적합실패( 2.7, 3.5& 3.7성공 시):

$ virtualenv --clear --python=python3.6 .venv
Running virtualenv with interpreter /usr/bin/python3.6
Traceback (most recent call last):
 File "/usr/lib/python3/dist-packages/virtualenv.py", line 25, in <module>
   import distutils.sysconfig
ModuleNotFoundError: No module named 'distutils.sysconfig'
zsh: exit 1     virtualenv --clear --python=python3.6 .venv

주위를 둘러보니 그런 것 같았어요데비안의 잘못. 못 고치고 바로 삭제했어요데비안 3.6 스타일python3.6소스에서 설치 했어요사용자 도메인(다음과 같은이 문서의 단계).

$ cd ~
$ mkdir pythonroot
$ mkdir opt
$ mkdir app
$ cd opt
$ wget Python-3.6.8.tgz
$ tar -xvzf Python-3.6.8.tgz 
$ cd Python-3.6.8
$ ./configure --enable-optimizations --with-ensurepip=install --prefix="$HOME"/pythonroot
$ make
$ make install
$ cd ~/app
$ virtualenv --python ~/pythonroot/bin/python3.6 .venv
$ source .venv/bin/activate
(.venv)$ python -V
Python 3.6.8

관련 정보