Python용 pip, virtualenv 및 배포 방법은 무엇입니까?
간단한 질문
- , 및 을 설치하는 적절한 방법은 무엇입니까?
배경
SO 질문 4314376에 대한 나의 답변에서, 나는 다음을 사용할 것을 권했다.ez_setup
그, so 、 so 、 스 、 스 、 스 、 so 、 so so so so so so 。pip
★★★★★★★★★★★★★★★★★」virtualenv
음음음같 뭇매하다
curl -O http://peak.telecommunity.com/dist/ez_setup.py
sudo python ez_setup.py
sudo easy_install pip
sudo pip install virtualenv
저는 원래 Jesse Noller의 블로그 게시물에서 이 지침을 따왔습니다. 그래서 당신은 Mac에서 Python을 사용하길 원하십니까?글로벌 사이트 패키지 디렉토리를 깔끔하게 유지하는 것이 좋습니다.따라서 설치하는 패키지는 및 뿐입니다.(이 Python 공개 서비스 발표 때문에 최근 툴박스에 추가했습니다.이 2개의 패키지를 인스톨 하려면 , 다음의 방법을 사용했습니다.
sudo pip install virtualenvwrapper
curl -O http://python-distribute.org/distribute_setup.py
sudo python distribute_setup.py
셋업툴이 필요 없고 설치도 간단
Python 공공 서비스 발표를 따르기 위해 Python을 새로 설치하는 경우 다음을 수행합니다.
curl -O http://python-distribute.org/distribute_setup.py
sudo python distribute_setup.py
sudo easy_install pip
sudo pip install virtualenv
sudo pip install virtualenvwrapper
글리프의 질책
SO 질문 4314376에 대한 내 답변에서 SO 사용자 Gliph는 다음과 같이 말했습니다.
DO, NEVER DO.
sudo python setup.py install
신경쓰지 말아요.~/.pydistutils.cfg pip ~/.local pydistutils.cfg 。은 ''' 입니다.ez_setup.py
setuptools asy_install 。이러한 버전에서는 운영체제상의 다른 기능이 고장날 가능성이 있습니다.
짧은 질문으로 돌아가다
- , 및 을 설치하는 적절한 방법은 무엇입니까?
python 자체에 아무것도 설치하지 않아도 됩니다.
당신은 sudo나 어떤 특권도 필요 없습니다.
파일을 편집할 필요가 없습니다.
virtualenv를 부트스트랩 가상 환경에 설치합니다.이 가상 환경을 사용하여 더 많은 가상 환경을 만듭니다.virtualenv는 pip 및 distribution과 함께 제공되므로 한 번의 설치로 모든 것을 얻을 수 있습니다.
- virtualenv 운 virtual :
- http://pypi.python.org/pypi/virtualenv
- https://pypi.python.org/packages/source/v/virtualenv/virtualenv-12.0.7.tar.gz (또는 최신 버전 등)
- 소스 tarball을 언팩합니다.
- 패키지 해제된 tarball을 사용하여 클린 가상 환경을 생성합니다.이 가상 환경은 다른 가상 환경을 "부트스트랩"하는 데 사용됩니다.모든 가상 환경에 pip 및 배포가 자동으로 포함됩니다.
- pip을 사용하여 해당 부트스트랩 환경에 virtualenv를 설치합니다.
- 부트스트랩 환경을 사용하여 추가 생성!
bash의 예를 다음에 나타냅니다.
# Select current version of virtualenv:
VERSION=12.0.7
# Name your first "bootstrap" environment:
INITIAL_ENV=bootstrap
# Set to whatever python interpreter you want for your first environment:
PYTHON=$(which python)
URL_BASE=https://pypi.python.org/packages/source/v/virtualenv
# --- Real work starts here ---
curl -O $URL_BASE/virtualenv-$VERSION.tar.gz
tar xzf virtualenv-$VERSION.tar.gz
# Create the first "bootstrap" environment.
$PYTHON virtualenv-$VERSION/virtualenv.py $INITIAL_ENV
# Don't need this anymore.
rm -rf virtualenv-$VERSION
# Install virtualenv into the environment.
$INITIAL_ENV/bin/pip install virtualenv-$VERSION.tar.gz
이제 "부트스트랩" 환경을 사용하여 다음을 더 만들 수 있습니다.
# Create a second environment from the first:
$INITIAL_ENV/bin/virtualenv py-env1
# Create more:
$INITIAL_ENV/bin/virtualenv py-env2
미쳐라!
메모
이 예에서는 실제로 오래된 버전의 virtualenv를 사용하고 있지 않다고 가정합니다.했습니다.--no-site-packges
Python Python도 있습니다).--distribute
) 이제 부트스트랩 환경을 만들 수 있습니다.python virtualenv.py path-to-bootstrap
★★★★★★★★★★★★★★★★★」python3 virtualenv.py path-to-bootstrap
.
글리프는 이런 걸 하라는 뜻인 것 같아
- 「」를 합니다.
~/.local
( ( ( ( ( ( ( ( ( ( ) - 고객님의 고객명
~/.bashrc
~/.local/bin
있다PATH
그 리리 and and and~/.local
있다PYTHONPATH
. " " " 를 만듭니다.
~/.pydistutils.cfg
」가 포함되어 .[install] prefix=~/.local
표준 ConfigParser 형식 파일입니다.
distribute_setup.py
python distribute_setup.py
(no)sudo
하지 않는 에 대해 불평하는 경우site-packages
디렉토리, 수동으로 작성합니다.mkdir -p ~/.local/lib/mkdir 2.7/site-param/
실행합니다.
which easy_install
게게 to to to to to에서 온 것을~/.local/bin
- 실행합니다.
pip install virtualenv
- 실행합니다.
pip install virtualenvwrapper
- 을 만듭니다(예: 폴더
~/.virtualenvs
»
~/.bashrc
export WORKON_HOME source ~/.local/bin/virtualenvwrapper.sh
끝이야, 소용없습니다.sudo
이 Python에 .~/.local
OS(Python) Python(Python)을 사용합니다.호환성이 어느 인지 불명확실히 알 수 .virtualenvwrapper
에서는 - 수 :- ) 。
이 답변에 링크된 여러 튜토리얼에서 조언한 단계를 따르면 Walker 및 Vinay의 답변에서 다소 복잡한 "수동" 단계를 거치지 않고도 원하는 효과를 얻을 수 있습니다.Ubuntu에 있는 경우:
sudo apt-get install python-pip python-dev
OS X에서는 homebrew를 사용하여 python을 설치함으로써 동등한 기능을 제공합니다(자세한 내용은 여기를 참조하십시오).
brew install python
★★★★★★★★★★★★★★★★ pip
인스톨 할 수 ( 「 「 」 、 「 」 、 「 」는 생략할 수 ).sudo
비단뱀
sudo pip install virtualenvwrapper
할 가 있는 것 같습니다).할 수 .sudo apt-get install virtualenvwrapper
)
주의: Ubuntu 14.04에서는 pip 설치에서 오류가 발생하므로pip3 install virtualenv virtualenvwrapper
VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3
나 my my my.bashrc/.zshrc
filename을 클릭합니다.
에 '부르다'에 ''.bashrc
export WORKON_HOME
source /usr/local/bin/virtualenvwrapper.sh
소스로서
. ~/.bashrc
기본적으로는 이겁니다.이제 시스템 수준의 패키지를 포함하도록 Virtualenv를 만들 것인지 여부만 결정합니다.
mkvirtualenv --system-site-packages foo
기존 시스템 패키지를 다시 설치할 필요가 없는 경우 시스템 인터프리터의 버전에 심볼릭 링크됩니다.주의: sudo 없이도 새로운 패키지를 설치하고 기존 포함된 시스템 패키지를 업그레이드할 수 있습니다.테스트를 해봤더니 시스템 인터프리터를 중단하지 않고 동작합니다.
kermit@hocus-pocus:~$ sudo apt-get install python-pandas
kermit@hocus-pocus:~$ mkvirtualenv --system-site-packages s
(s)kermit@hocus-pocus:~$ pip install --upgrade pandas
(s)kermit@hocus-pocus:~$ python -c "import pandas; print(pandas.__version__)"
0.10.1
(s)kermit@hocus-pocus:~$ deactivate
kermit@hocus-pocus:~$ python -c "import pandas; print(pandas.__version__)"
0.8.0
완전히 분리된 환경을 원하는 경우 대체 방법은 다음과 같습니다.
mkvirtualenv --no-site-packages bar
이 옵션이 기본 옵션인 경우, 단순하게
mkvirtualenv bar
그 결과 마음에 드는 패키지를 자유롭고 빠르게 설치할 수 있는 새로운 Virtual Env가 도입되었습니다.
pip install flask
Python 3.4 이후
Python 3.3은 venv 모듈을 추가하고 Python 3.4는 surepip 모듈을 추가합니다.이것에 의해, 부트 스트랩의 pip는 다음과 같이 간단하게 됩니다.
python -m surepip
에의 .venv
이데올로기 때문에
보증된 pip은 PEP 453에 설명되어 있습니다.
Ubuntu의 경우:
sudo apt-get install python-virtualenv
' ' ''python-pip
종속성이므로 설치도 됩니다.
나는 우리가 직장에서 사용하기 위해 이 절차를 만들었다.
cd ~
curl -s https://pypi.python.org/packages/source/p/pip/pip-1.3.1.tar.gz | tar xvz
cd pip-1.3.1
python setup.py install --user
cd ~
rm -rf pip-1.3.1
$HOME/.local/bin/pip install --user --upgrade pip distribute virtualenvwrapper
# Might want these three in your .bashrc
export PATH=$PATH:$HOME/.local/bin
export VIRTUALENVWRAPPER_VIRTUALENV_ARGS="--distribute"
source $HOME/.local/bin/virtualenvwrapper.sh
mkvirtualenv mypy
workon mypy
pip install --upgrade distribute
pip install pudb # Or whatever other nice package you might want.
보안을 중시하는 사람들의 요점:
- curl은 ssl 검증을 수행합니다.wget은 그렇지 않습니다.
- pip 1.3.1부터는 ssl 검증도 수행합니다.
- pypi tarball을 업로드할 수 있는 사용자는 github tarball보다 적습니다.
업데이트:2013년 7월부로 이 프로젝트는 더 이상 유지보수가 되지 않습니다.저자는 pyenv를 사용할 것을 제안합니다.(pyenv에는 virtualenv에 대한 기본 지원은 없지만 virtualenv와 잘 어울립니다.)
Pythonbrew는 python용 버전 매니저로 virtualenv를 지원합니다.
pythonbrew를 설치하고 venvs를 사용하여 python-version을 설치하면 매우 간단합니다.
# Initializes the virtualenv
pythonbrew venv init
# Create a virtual/sandboxed environment
pythonbrew venv create mycoolbundle
# Use it
pythonbrew venv use mycoolbundle
OS에서 버전 모듈을 데 문제가 있었습니다(). 현재는 Python을 사용하고 .pyenv
.
pyenv를 사용하면 새로운 Python 버전을 쉽게 설치할 수 있으며 virtualenv를 지원합니다.시작은 다른 답변에 나와 있는 virtualenv의 레시피보다 훨씬 쉽습니다.
- Mac을 합니다.
brew install pyenv
Linux에서는 pyenv-installer를 사용합니다. - 내장 virtualenv 지원 및 Python 버전 전환(필요한 경우)
- Python 2 또는 3에서 잘 작동하며 동시에 여러 버전을 설치할 수 있습니다.
이것은 시스템 Python에서 "새로운 Python" 버전과 virtualenv를 절연하는 데 매우 효과적입니다.최신 Python(2.7.9 이후)을 쉽게 사용할 수 있기 때문에 SSL 모듈은 이미 업그레이드되어 있으며, 물론 최신 virtualenv 설정과 마찬가지로 시스템 Python 모듈로부터 격리되어 있습니다.
좋은 튜토리얼 몇 가지:
- pyenv 및 virtualenv 사용 - Python 버전을 선택하면 사용이 더 쉬워집니다.
pyenv global 3.9.1
(글로벌에서 현재 사용자로) 또는pyenv local 3.6.3
(일본어판/일본어) - pyenv 기본 및 virtualenv와 함께 사용
pyenv-virtualenv
으로 내장되었습니다.: ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★」pyenv commands | grep virtualenv
확인할 수 있습니다.pyenv-virtualenvwrapper는 pyenv-virtualenv를 사용합니다.pyenv-virtualenv.virtualenvrapper는 pyenv-virtualenv를 사용합니다.
pyenv
만든 것입니다.rbenv
(루비) 바시다
- 한 이름의 pyenv와 .
pyvenv
의 Python 이며 Python 버전 하지 않습니다.Python 3 버전 스위칭은 Python 3 버전입니다.
주의사항
pyenv에 대한 두 가지 경고:
- 또는 합니다. bash를 .pyenv-가상엔비
dash
, 「」)/bin/sh
우분투 데비안 - 에서 실행해야 합니다( " " " ) 。
bash --login
터미널 사용)과 같은 자동화 도구를 사용하여 이 작업을 수행하는 것이 항상 쉽지는 않습니다.
따라서 pyenv는 인터랙티브한 사용에 최적이며 스크립팅 서버에는 적합하지 않습니다.
이전 배포 - SSL 모듈 문제
「」를 하는 .pyenv
시스템에서 제공하는 이전 버전의 Python을 사용할 때 Python SSL 모듈을 업그레이드하는 데 문제가 자주 발생한다는 것입니다.현재 Linux 디스트리뷰션이 Python 3.x를 지원하므로 이는 문제가 되지 않을 수 있습니다.
sudo python setup.py 설치는 문제 없습니다.
차이점은 OS의 site-packages 디렉토리를 .py 파일의 복사처로 사용하는 것입니다.
따라서 pip을 os 와이드로 액세스 할 수 있도록 하는 것이 좋습니다.다른 방법이 나쁘다고는 할 수 없지만, 이것만으로도 충분히 공평할 것이다.
ActivePython을 설치합니다.여기에는 pip, virtualenv 및 Distribute가 포함됩니다.
저도 최근에 같은 문제에 부딪혔어요."항상 virtualenv를 사용한다"는 생각에 점점 더 집착하고 있기 때문에 글로벌 또는 사용자 사이트 패키지 디렉토리에 distribute를 설치하지 않고 pip을 사용하여 virtualenv를 설치하는 것이 문제였습니다.이를 위해 distribute, pip 및 virtualenv를 수동으로 다운로드하고, 각각에 대해 "http setup.py install --/.local/python-private"를 실행했습니다(설치 스크립트가 배포를 찾을 수 있도록 PYATONPATH=~/.local/python-private를 임시로 설정).virtualenv 스크립트를 PATH에 있는 다른 디렉토리로 이동하고 배포 및 virtualenv 모듈을 sys.path에서 찾을 수 있도록 편집했습니다.Tada: /usr, /usr/local 또는 사용자 사이트 패키지 dir에는 아무것도 설치하지 않았지만 virtualenv는 어디서든 실행할 수 있고 virtualenv에서는 pip을 얻을 수 있습니다.
좋은 소식은 python3.4를 설치한 경우 pyvenv가 이미 설치되어 있다는 것입니다.그래서 그냥
pyvenv project_dir
source project_dir/bin/activate
python --version
python 3.4.*
이 가상 환경에서는 pip을 사용하여 이 프로젝트의 모듈을 설치할 수 있습니다.
이 가상환경에서 벗어나면 됩니다.
deactivate
python 자체에 아무것도 설치하지 않아도 됩니다.
당신은 sudo나 어떤 특권도 필요 없습니다.
virtualenv
filetar 파 tar최신 상태를 유지하기 위해 bash 스크립트에서 버전 정보를 편집할 필요가 없습니다.
없다
curl
/wget
★★★★★★★★★★★★★★★★★」tar
installed (설치 완료 """ " " " " ""pip
★★★★★★★★★★★★★★★★★」easy_install
이것은 3과 마찬가지로 2.7에도 대응합니다.x
을 하다에 해 두세요./tmp/initvenv.py
:
from __future__ import print_function
import os, sys, shutil, tempfile, subprocess, tarfile, hashlib
try:
from urllib2 import urlopen
except ImportError:
from urllib.request import urlopen
tmp_dir = tempfile.mkdtemp(prefix='initvenv_')
try:
# read the latest version from PyPI
f = urlopen("https://pypi.python.org/pypi/virtualenv/")
# retrieve the .tar.gz file
tar_found = False
url = None
sha256 = None
for line in f.read().splitlines():
if isinstance(line, bytes):
line = line.decode('utf-8')
if tar_found:
if 'sha256' in line:
sha256 = line.split('data-clipboard-text')[1].split('"')[1]
break
continue
if not tar_found and 'tar.gz">' not in line:
continue
tar_found = True
for url in line.split('"'):
if url.startswith('https'):
break
else:
print('tar.gz not found')
sys.exit(1)
file_name = url.rsplit('/', 1)[1]
print(file_name)
os.chdir(tmp_dir)
data = urlopen(url).read()
data_sha256 = hashlib.sha256(data).hexdigest()
if sha256 != data_sha256:
print('sha256 not correct')
print(sha256)
print(data_sha256)
sys.exit(1)
with open(file_name, 'wb') as fp:
fp.write(data)
tar = tarfile.open(file_name)
tar.extractall()
tar.close()
os.chdir(file_name.replace('.tar.gz', ''))
print(subprocess.check_output([sys.executable, 'virtualenv.py'] +
[sys.argv[1]]).decode('utf-8'), end='')
if len(sys.argv) > 2:
print(subprocess.check_output([
os.path.join(sys.argv[1], 'bin', 'pip'), 'install', 'virtualenv'] +
sys.argv[2:]).decode('utf-8'), end='')
except:
raise
finally:
shutil.rmtree(tmp_dir) # always clean up
그리고 그것을 로서
python_binary_to_use_in_venv /tmp/initvenv.py your_venv_name [optional packages]
(꼭)distribute
:setuptools
)
python /tmp/initvenv.py venv distribute
버전의에서는 python을 사용할 수 InsecurePlatformWarning
m.m.m.m.m.m.m.m.m.m.m
★★★★★★★★★★★★★★★★★★★★venv
) Env를 사용하면 다른 Virtual 할 수 virtualenv
치치: :
venv/bin/virtualenv venv2
##가상환경래퍼
virtualenvwrapper도 한 번 설정한 후에 살펴볼 것을 권장합니다.
% /opt/python/2.7.10/bin/python /tmp/initvenv.py venv virtualenvwrapper
및 액티베이션(로그인 스크립트에서 실행할 수 있습니다):
% source venv/bin/virtualenvwrapper.sh
다음과 같은 작업을 수행할 수 있습니다.
% mktmpenv
New python executable in tmp-17bdc3054a46b2b/bin/python
Installing setuptools, pip, wheel...done.
This is a temporary environment. It will be deleted when you run 'deactivate'.
(tmp-17bdc3054a46b2b)%
i 경고를 억제할 방법이 없었다.피펫과/또는 요청에서 해결될 수 있지만, 개발자들은 다른 사람들에게 영향을 미칠 수 있습니다.나는 종종, 제가 최신 버전의 파이썬 버전을 업그레이드하기 위해 사용하는 파이썬 버전을 업그레이드합니다.난 이걸 깨워. 리눅스 민트 17을 설치하겠습니다.다행히 Pip 캐시 패키지가 패키지 설치당 한 번만 만들 수 있습니다.
Virtualenv 공식 사이트에는 좋은 지침이 있습니다.https://pypi.python.org/pypi/virtualenv
pip
sudo easy_install pip
그 후 , " " " "sudo pip install virtualenv
이렇게 했습니다: ㄴㄴ, ㄴ, ㄴ, ㄴ, ㄴ, ㄴ, ㄴ, ㄴ, ㄴ, ㄴ, ㄴ, ㄴ, ㄴ, ㄴ, ㄴ, ㄴ, ㄴ)virtualenv my_env
싶은 대로 한 대로 했다.virtualenv --distribute my_env
되어 있습니다.distribute
★★★★★★★★★★★★★★★★★」pip
사용할 수 있습니다.
다시 하다, 하다, 하다의 지시에 .virtualenv
Ruby;P에서 온다는 것은 좀 번거로움
다음은 virtualenvwrapper(이 업데이트)를 설치하는 좋은 방법입니다.
virtualenv-1.11.4 다운로드(최신 정보는 여기를 참조해 주세요)해동 후 엽니다.terminal
# Create a bootstrapenv and activate it:
$ cd ~
$ python <path to unzipped folder>/virtualenv.py bootstrapenv
$ source bootstrapenv/bin/activate
# Install virtualenvwrapper:
$ pip install virtualenvwrapper
$ mkdir -p ~/bootstrapenv/Envs
# append it to file `.bashrc`
$ vi ~/.bashrc
source ~/bootstrapenv/bin/activate
export WORKON_HOME=~/bootstrapenv/Envs
source ~/bootstrapenv/bin/virtualenvwrapper.sh
# run it now.
$ source ~/.bashrc
이상입니다. 이제 사용하실 수 있습니다.mkvirtualenv env1
,lsvirtualenv
..기타
삭제가 합니다.virtualenv-1.11.4
★★★★★★★★★★★★★★★★★」virtualenv-1.11.4.zip
[ Downloads ] [ Downloads ](다운로드)
언급URL : https://stackoverflow.com/questions/4324558/whats-the-proper-way-to-install-pip-virtualenv-and-distribute-for-python
'programing' 카테고리의 다른 글
.readlines() 사용 시 \n 삭제 (0) | 2022.11.06 |
---|---|
MySQL 데이터베이스로 여러 SQL 파일을 쉽게 가져오는 방법 (0) | 2022.11.06 |
flask_sqlalchemy 'pool_pre_ping'이 동작하는 경우가 있습니다. (0) | 2022.11.06 |
jquery를 사용하여 iFrame 부모 페이지에 액세스하는 방법 (0) | 2022.11.06 |
이 preg_match 대소문자를 구분하지 않도록 하려면 어떻게 해야 합니까? (0) | 2022.11.06 |