programing

virtualenv에서 Python 3 사용

prostudy 2022. 4. 2. 08:52
반응형

virtualenv에서 Python 3 사용

virtualenv를 사용하여 Python의 기본 버전(2.7)으로 프로젝트를 실행한다.한 프로젝트에서는 파이톤 3.4를 사용해야 해.

나는 사용했다.brew install python3내 Mac에 설치하기 위해서.이제 새로운 버전을 사용하는 가상 환경은 어떻게 만들까?

예: python3의 sudo virtualenves

다음 작업을 수행하려는 경우:

virtualenv -p python3 test

알겠다:

Running virtualenv with interpreter /usr/local/bin/python3
Using base prefix '/usr/local/Cellar/python3/3.4.0_1/Frameworks/Python.framework/Versions/3.4'
New python executable in test/bin/python3.4
Also creating executable in test/bin/python
Failed to import the site module
Traceback (most recent call last):
  File "/Users/user/Documents/workspace/test/test/bin/../lib/python3.4/site.py", line 67, in <module>
    import os
  File "/Users/user/Documents/workspace/test/test/bin/../lib/python3.4/os.py", line 634, in <module>
    from _collections_abc import MutableMapping
ImportError: No module named '_collections_abc'
ERROR: The executable test/bin/python3.4 is not functioning
ERROR: It thinks sys.prefix is '/Users/user/Documents/workspace/test' (should be '/Users/user/Documents/workspace/test/test')
ERROR: virtualenv is not compatible with this system or executable

간단히 달리다

virtualenv -p python3 envname

OP 편집 후 업데이트:

여기에 기술된 바와 같이, OP의 가상엔브 버전에는 버그가 있었다.이 문제는 다음과 같이 실행함으로써 해결되었다.

pip install --upgrade virtualenv

Python 3는 가상 환경에 대한 기본 지원 기능인 venv를 가지고 있다.대신 그것을 사용하는 것이 나을지도 모른다.문서 참조:

가상 환경 생성은 다음과 같은 pyvenv 스크립트를 실행하여 수행된다.

pyvenv /path/to/new/virtual/environment

Python 3.6 이상 업데이트:

파시오비엘정확하게 지적했듯이pyvenvPython 3.6에서는 더 이상 사용되지 않으며 새로운 방법은 다음과 같다.

python3 -m venv /path/to/new/virtual/environment

피엔브(pyenv)를 사용해 보았는데, 피엔브(global, local in folder 또는 virtualenv) 버전을 전환하는 데 매우 편리하다.

brew install pyenv

원하는 Python 버전을 설치하십시오.

pyenv install 3.5.0

필요한 번역기 버전에 대한 경로로 가상 환경만 생성하십시오.

virtualenv -p /Users/johnny/.pyenv/versions/3.5.0/bin/python3.5 myenv

바로 그거야, 버전을 확인해봐.

. ./myenv/bin/activate && python -V

또한 pyenv pyenv-virtualenv를 위한 플러그인도 있지만 그것은 나에게 어떻게든 효과가 없었다.

설치 필수 구성 요소.

sudo apt-get install python3 python3-pip virtualenvwrapper

Python3 기반 가상 환경을 생성하십시오.선택적으로 사용--system-site-packages국기를 달다

mkvirtualenv -p /usr/bin/python3 <venv-name>

가상 환경으로 설정하십시오.

workon <venv-name>

다음을 사용하여 다른 요구 사항 설치pip패키지 관리자

pip install -r requirements.txt
pip install <package_name>

여러 python 프로젝트에서 동시에 작업할 때는 일반적으로 다음과 같은 공통 패키지를 설치하는 것이 좋다.pdbpp전세계적으로 그리고 그것들을 가상어로 재사용한다.

이 기술을 사용하면 최소한의 디스크 공간과 네트워크 대역폭을 사용하는 것 외에도 패키지를 가져오고 설치하는 데 많은 시간을 절약할 수 있다.

sudo -H pip3 -v install pdbpp
mkvirtualenv -p $(which python3) --system-site-packages <venv-name>

장고별지침

시스템 와이드 파이톤 패키지가 많으면 사용하지 않는 것이 좋다.--system-site-packages특히 개발 중에 짱오 스타트업의 속도가 많이 느려지는 것을 눈치 챘기 때문에 더욱 그렇다.장고 환경 초기화는 시스템 경로에서 모든 사이트 패키지를 수동으로 검색하고 추가하는 것으로 가정하며, 그 이유가 있을 수 있다.짝수python manage.py shell매우 느리게 되다

어떤 옵션이 더 잘 먹히는지 그 실험을 말했었다.그냥 건너뛰어도 안전할 것 같다.--system-site-packages장고 프로젝트를 위해 깃발을 꽂다

virtualenv --python=/usr/bin/python3 <name of env>

날 위해 일했어

python/python3에서 가상 환경을 실행하려면 이 정도만 있으면 된다.

우선은virtualenv설치되지 않음, 실행

pip3 install virtualenv 

지금 실행:

virtualenv -p python3 <env name> 

언젠ga cmdvirtualenv실패, 그렇다면 다음을 사용하십시오.

python3 -m virtualenv <env_name>  # you can specify full path instead <env_name> to install the file in a different location other than the current location

이제 가상 환경을 활성화하십시오.

source <env_name>/bin/activate

또는:

source `pwd`/<env_name>/bin/activate

자, 뛰어.

which python

당신은 당신의 여행지로 가는 모든 길을 봐야한다.<env_name>/bin/python접미사

가상 환경을 종료하려면 다음을 실행하십시오.

deactivate 

환경을 만드는 동안 Python특정 버전을 지정할 수 있다.
그것은 virtualenv.py에 언급되어 있다.

virtualenv --python=python3.5 envname

경우에 따라 이 경로가 실행 파일의 전체 경로여야 함:

virtualenv --python=/Users/username/.pyenv/versions/3.6.0/bin/python3.6 envname

어떻게-p작동하다

parser.add_option(
    '-p', '--python',
    dest='python',
    metavar='PYTHON_EXE',
    help='The Python interpreter to use, e.g., --python=python3.5 will use the python3.5 '
    'interpreter to create the new environment.  The default is the interpreter that '
    'virtualenv was installed with (%s)' % sys.executable)

나도 마찬가지였다.ERROR메세지야. 내 경우엔 해결책이 먹히지 않았어.대신 이 문제로 인해 다음과 같은 문제가 해결되었다.

$ python3 -m venv .env

다른 답변과 함께 어떤 가상 환경 인스턴스를 실행 중인지 확인해 보십시오.

which virtualenv

/usr/local/bin에 어떤 것이 나타나면, 시스템의 패키지 관리자(OP의 경우 brow in OP)를 사용하지 않고 virtualenv(아마도 easy_tools 또는 pip 인스턴스를 사용하여)를 설치했을 가능성이 있다.이건 내 문제였어.

수년 전 - 내가 훨씬 더 무식했을 때 - 나는 가상 환경을 설치했고 그것은 내 시스템의 패키지 제공 가상 환경을 가리고 있었다.

이 낡고 부서진 가상 환경을 없앤 후, 내 문제는 없어졌다.

Python은 이제 "venv"라는 이름으로 가상 환경의 자체 구현을 제공한다.나는 가상 환경 대신에 그것을 사용하는 것을 제안할 것이다.

venv - 문서에서 인용하면,

버전 3.6 이후 더 이상 사용되지 않음: pyvenv는 Python 3.3 및 3.4의 가상 환경을 만들 때 권장되는 도구였으며 Python 3.6에서는 더 이상 사용되지 않는다.

버전 3.5에서 변경됨: 이제 가상 환경을 만들 때 venv를 사용하는 것이 권장된다.

창의 경우 일부 프로젝트에서 venv를 시작하려면 cmd:

python -m venv "c:\path\to\myenv"

공백이 있는 경우 디렉토리 경로에 큰따옴표를 사용하십시오.Ex: "C:/My Dox/Space Directory/Something")

venv가 설정되면 프로젝트 디렉토리 내에 새 폴더가 표시되며,그들 중 하나는 "스크립트"일 것이다.

venv를 활성화하거나 호출하려면 다음을 수행하십시오.

C:\> <venv>\Scripts\activate.bat

셸에 "비활성화"를 입력하여 가상 환경을 비활성화할 수 있다.이제 "Lib" 폴더에 상주하는 프로젝트별 라이브러리를 설치할 준비가 되셨습니다.

=================================편집 1 =================================================================================================================

python 확장자와 함께 vs 코드를 사용하는 경우, 글로벌 설치를 가리키는 pylint에 문제가 발생할 수 있다.이 경우 페일린트는 가상 환경에 설치된 모듈을 볼 수 없으므로 가져오는 동안 오류가 표시된다.

여기에 이것을 극복하는 간단한 방법이 있다.

cd Workspace\Scripts
.\Activate.ps1
code .

우리는 기본적으로 pylint가 환경 내에서 시작하고 모든 로컬 패키지를 볼 수 있도록 환경을 먼저 활성화한 다음 vs-code를 호출하고 있다.

아래의 간단한 명령은 버전 3.5로 가상 환경을 만들 수 있다.

apt-get install python3-venv

python3.5 -m venv <your env name>

가상 환경 버전을 3.6으로 원하는 경우

python3.6 -m venv <your env name>

python3.6에서 나는 시도했다.python3 -m venv myenv서류에 따르면, 그러나 너무 오래 걸렸다.그래서 아주 간단하고 빠른 명령은python -m venv yourenvpython3.6에 효과가 있었어.

맥에서 나는 그것을 작동시키기 위해 다음과 같은 일을 해야 했다.

mkvirtualenv --python=/usr/bin/python3 YourEnvNameHere

python3를 설치하는 경우 (brew install python3)는 virtualenv Burrito와 함께 할 수 있다.mkvirtualenv -p $(which python3) env_name

물론 가상엔브 부리토가 포장지일 뿐이라는 것은 알고 있지만, 그것은 몇 년 동안 나에게 많은 도움이 되어 일부 학습 곡선을 줄였다.

virtualenv --python=/usr/local/bin/python3 <VIRTUAL ENV NAME>이것은 당신의 가상 환경에 python3 경로를 추가할 것이다.

그것은 나에게 효과가 있었다.

virtualenv --no-site-packages --distribute -p /usr/bin/python3 ~/.virtualenvs/py3

아나콘다3(피톤3)와 작업 중 문제가 있는 경우.

당신은 사용할 수 있다.

conda create -n name_of_your_virtualenv python=python_version 

환경(Linux, MacOS)을 활성화하려면 다음과 같이 하십시오.

source activate name_of_your_virtualenv

Windows용

activate name_of_your_virtualenv

위의 모든 것들을 시도해봤지만, 여전히 효과가 없었어.그래서 짐승의 힘으로 아나콘다를 재설치하고 가상의 엔비젼을 재설치하고...그리고 그것은 성공하였다.

Amans-MacBook-Pro:~ amanmadan$ pip install virtualenv
You are using pip version 6.1.1, however version 8.1.2 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.
Collecting virtualenv
  Downloading virtualenv-15.0.3-py2.py3-none-any.whl (3.5MB)
    100% |████████████████████████████████| 3.5MB 114kB/s 
Installing collected packages: virtualenv
Successfully installed virtualenv-15.0.3
Amans-MacBook-Pro:python amanmadan$ virtualenv my_env
New python executable in /Users/amanmadan/Documents/HadoopStuff/python/my_env/bin/python
Installing setuptools, pip, wheel...done.
Amans-MacBook-Pro:python amanmadan$ 

나는 Python 2.7.5를 Centos 7에 기본 버전으로 유지하기를 원했지만 가상 환경에서 Python 3.6.1을 Python 2.x의 다른 가상 환경과 함께 실행하기를 원했다.

아래 링크를 찾아보니 최신 파이선 버전(파이선 3.6.1) https://www.digitalocean.com/community/tutorial_series/how-to-install-and-set-up-a-local-programming-environment-for-python-3에 가장 적합한 솔루션이었습니다.다른 플랫폼에 대한 단계를 보여주지만 기본 단계는

  1. 플랫폼용 python3.x(없을 경우) 설치
  2. 플랫폼용 python3.x-devel 설치
  3. python 3.x에서 가상 환경 생성(예: $ python3.6 -m venv varenv_test_p3/ )
  4. python 3.x에 대한 테스트 환경 활성화(예: 소스 virenv_test_p3/bin/activate)
  5. 새 python 3 가상 환경에서 사용할 패키지 및 지원되는 패키지 설치(예: pip install Django=1.11.2)

Windows 명령줄에서는 다음과 같은 작업이 수행되었다.먼저 Python 실행 파일의 위치를 확인하십시오.

where python

이렇게 하면 시스템의 다른 python.exe로 경로가 출력된다.여기 내 것이 있었다.

C:\Users\carandangc\Anaconda3\python.exe
C:\Python27\python.exe

Python3의 경우, 이것은 나에게 첫 번째 경로에 위치하여 가상 환경 폴더를 만들고자 하는 응용 프로그램의 루트 폴더에 cd를 넣는다.그런 다음 가상 환경의 이름을 'venv'로 지정하여 내 Python3 실행 파일의 경로를 포함하는 다음을 실행하십시오.

virtualenv --python=/Users/carandangc/Anaconda3/python.exe venv

다음으로 가상 환경을 활성화하십시오.

call venv\Scripts\activate.bat

마지막으로 이 가상 환경에 대한 종속성을 설치하십시오.

pip install -r requirements.txt

이 요구 사항.txt는 가상 환경에서 애플리케이션에 필요한 라이브러리/랩톱을 알고 있는 경우 수동으로 채울 수 있다.애플리케이션을 다른 환경에서 실행 중인 경우 다음(cd가 작동 중인 환경의 애플리케이션 폴더에 대한)을 실행하여 종속성을 자동으로 생성하십시오.

pip freeze > requirements.txt

그럼 일단 요구사항이 있으면.'cd'가 있는 txt를 사용하면 다른 시스템에 요구 사항을 설치하거나 다음을 사용하여(애플리케이션 폴더에 대한 cd 후) 정리 환경을 만들 수 있다.

pip install -r requirements.txt

가상 환경에서 python 버전을 보려면 다음을 실행하십시오.

python --version

그럼 짜잔...가상 환경에서 Python3를 실행하십시오.출력:

Python 3.7.2

pipenv를 사용하고 있으며 특정 버전을 설치하려는 사용자:

pipenv install --python 3.6

Miniconda3 설치와 충돌하여 동일한 오류가 발생하여 "whiconnv"를 입력하고 Miniconda를 설치했을 때 해당 설치를 가리킬 때 제거하거나(좋고 아직 이동하지 않은 경우) 환경 변수를 원하는 설치를 가리키도록 변경하십시오.

참조URL: https://stackoverflow.com/questions/23842713/using-python-3-in-virtualenv

반응형