답변:
virtualenv에 대한 옵션은 다음과 같습니다.
$ virtualenv
You must provide a DEST_DIR
Usage: virtualenv [OPTIONS] DEST_DIR
Options:
--version show program's version number and exit.
-h, --help show this help message and exit.
-v, --verbose Increase verbosity.
-q, --quiet Decrease verbosity.
-p PYTHON_EXE, --python=PYTHON_EXE
The Python interpreter to use, e.g.,
--python=python2.5 will use the python2.5 interpreter
to create the new environment. The default is the
interpreter that virtualenv was installed with
(/usr/bin/python)
--clear Clear out the non-root install and start from scratch
--no-site-packages Don't give access to the global site-packages dir to
the virtual environment
--unzip-setuptools Unzip Setuptools or Distribute when installing it
--relocatable Make an EXISTING virtualenv environment relocatable.
This fixes up scripts and makes all .pth files
relative
--distribute Use Distribute instead of Setuptools. Set environ
variable VIRTUALENV_USE_DISTRIBUTE to make it the
default
--prompt==PROMPT Provides an alternative prompt prefix for this
environment
1) 당신이하고 싶은 일은 파이썬도 당신이 쓸 수있는 디렉토리에 설치하는 것입니다.
지침을 따를 수 있습니다 here
.
파이썬 2.7.1
Python source
mkdir ~/src
mkdir ~/.localpython
cd ~/src
wget http://www.python.org/ftp/python/2.7.1/Python-2.7.1.tgz
tar -zxvf Python-2.7.1.tgz
cd Python-2.7.1
make clean
./configure --prefix=/home/${USER}/.localpython
make
make install
2) virtualenv 설치
virtualenv source
cd ~/src
wget http://pypi.python.org/packages/source/v/virtualenv/virtualenv-1.5.2.tar.gz#md5=fbcefbd8520bb64bc24a560c6019a73c
tar -zxvf virtualenv-1.5.2.tar.gz
cd virtualenv-1.5.2/
~/.localpython/bin/python setup.py install
3) 로컬 파이썬을 사용하여 virtualenv 생성
virtualenv docs
mkdir /home/${USER}/virtualenvs
cd /home/${USER}/virtualenvs
~/.localpython/bin/virtualenv py2.7 --python=/home/${USER}/.localpython/bin/python2.7
4) 환경 활성화
cd ~/virtualenvs/py2.7/bin
source ./activate
5) 확인
(py2.7)$ python
Python 2.7.1 (r271:86832, Mar 31 2011, 15:31:37)
[GCC 4.4.5] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> exit()
(py2.7)$ deactivate
$ python
Python 2.6.6 (r266:84292, Sep 15 2010, 15:52:39)
[GCC 4.4.5] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>>
curl gcc build-essential libncursesw5-dev libreadline5-dev libssl-dev libgdm-dev libbz2-dev libc6-dev libsqlite3-dev tk-dev
source
강타입니다. POSIX는 다음과 같습니다 .
.
전제 조건 :
sudo easy_install virtualenv
sudo pip install virtualenvwrapper
Python2.6으로 virtualenv 설치 :
다른 버전의 Python /usr/local
또는 다른 위치에 수동으로 다운로드하여 빌드하고 설치할 수 있습니다 .
이 아닌 다른 위치 인 경우 /usr/local
PATH에 추가하십시오.
쉘을 다시로드하여 업데이트 된 PATH를 선택하십시오.
이 시점에서, 당신은 당신의 쉘에서 다음이 파이썬 바이너리를 호출 할 수 있어야 python2.5
하고python2.6
다음을 사용하여 virtualenv의 새 인스턴스를 작성하십시오 python2.6
.
mkvirtualenv --python=python2.6 yournewenv
이 절차는 Python2.7을 어디에나 설치 하고env
폴더 내의 절대 경로 참조를 제거 합니다 (virtuenv에 의해 관리 됨) . virtualenv조차도 절대적으로 설치되지는 않습니다.
따라서 이론적으로 최상위 디렉토리를 타르볼에 놓고 타르볼 내에 구성된 모든 것을 파이썬 (또는 의존성)이 설치 되지 않은 머신에서 배포하고 실행할 수 있습니다 .
질문이 있으면 저에게 연락하십시오. 이것은 내가 진행중인 진행중인 대규모 프로젝트의 일부입니다. 이제 드롭을 위해 ...
환경 폴더를 설정하십시오.
$ mkdir env
$ mkdir pyenv
$ mkdir dep
어떤 형태의 루트 OS 설치 없이 Python-2.7.3 및 virtualenv 를 얻습니다 .
$ cd dep
$ wget http://www.python.org/ftp/python/2.7.3/Python-2.7.3.tgz
$ wget https://raw.github.com/pypa/virtualenv/master/virtualenv.py
pyenv
dir에 Python-2.7.3을 추출하여 설치하십시오 . make clean
두 번째, 세 번째, N 번째 시간 에이 작업을 수행하는 경우 선택 사항입니다 ...
$ tar -xzvf Python-2.7.3.tgz
$ cd Python-2.7.3
$ make clean
$ ./configure --prefix=/path/to/pyenv
$ make && make install
$ cd ../../
$ ls
dep env pyenv
virtualenv 생성
$ dep/virtualenv.py --python=/path/to/pyenv/bin/python --verbose env
python2.7에 symlink를 수정하십시오. env/include/
$ ls -l env/include/
$ cd !$
$ rm python2.7
$ ln -s ../../pyenv/include/python2.7 python2.7
$ cd ../../
env에서 나머지 파이썬 심볼릭 링크를 수정하십시오. 위와 같이 심볼릭 링크 된 디렉토리를 삭제하고 다시 작성해야합니다. 또한 내부 심볼릭 링크 작성을 강제하는 구문이 있습니다.
$ ls -l env/lib/python2.7/
$ cd !$
$ ln -sf ../../../pyenv/lib/python2.7/UserDict.py UserDict.py
[...repeat until all symbolic links are relative...]
$ cd ../../../
테스트
$ python --version
Python 2.7.1
$ source env/bin/activate
(env)
$ python --version
Python 2.7.3
알로하
일반적인 접근 방식은 소스를 다운로드하고 로컬 (virtualv에서는 직접이 아님)을 빌드 및 설치 한 다음 해당 로컬 Python 설치를 사용하여 새 virtualenv를 작성하는 것입니다. 일부 시스템에서는 소스에서 빌드하지 않고 사전 빌드 된 Python을 다운로드하여 설치할 수 있습니다.
이제 며칠 동안 업데이트 된 Python 버전을 사용하는 가장 쉬운 방법은 conda를 통해 conda 환경에 설치하는 것입니다.
conda 설치 (이를 위해 virtualenv가 필요할 수 있습니다)
pip install conda
수동 다운로드가 필요하지 않으므로이 답변을 여기에 추가하고 있습니다. conda
당신을 위해 그렇게 할 것입니다.
이제 원하는 Python 버전의 환경을 만드십시오. 이 예제에서는 3.5.2
작성 시점 (2016 년 8 월)의 최신 버전이므로을 사용합니다.
conda create -n py35 python=3.5.2
conda가 패키지를 설치할 수있는 환경을 만듭니다.
이 환경을 활성화하려면 (리눅스가 아니라면 conda docs를 확인한다고 가정합니다 ) :
source activate py35
이제 environemnt에 pip 또는 conda를 통해 필요한 것을 설치하십시오 (conda는 바이너리 패키지를 더 잘 지원합니다).
conda install <package_name>
pyenv를 사용할 수 있습니다.
anaconda, jython, pypy 등 다양한 버전이 있습니다 ...
간단한 설치 pyenv install 3.2.6
pyenv install --list
Available versions:
2.1.3
2.2.3
2.3.7
2.4
2.4.1
2.4.2
2.4.3
2.4.4
2.4.5
2.4.6
2.5
2.5.1
2.5.2
2.5.3
2.5.4
2.5.5
2.5.6
2.6.6
...
질문에 2.6 설치에 대해 구체적으로 설명되어 있지만 누군가이 문제가 발생할 경우 위의 훌륭한 답변에 몇 가지 중요한 사항을 추가하고 싶습니다. 레코드의 경우, 우분투 10.04 상자에 2.7을 설치하려고했습니다.
첫째, 여기 모든 답변에 설명 된 방법에 대한 동기 부여는 deadsnake의 ppa에서 Python을 설치 하는 것이 완전히 실패한 것입니다. 따라서 지역 파이썬을 구축하는 것이 좋습니다.
그렇게 시도한 결과 pip (with sudo apt-get install pip
) 의 기본 설치에 의존하는 것이 적절하다고 생각했습니다. 불행히도 이것은 잘못입니다. 나는 모든 불쾌한 문제를 겪었고 결국 virtualenv를 만들 수 없었습니다.
따라서, 나는 높게하는 것이 좋습니다 로컬 핍 설치 와 함께 wget https://raw.github.com/pypa/pip/master/contrib/get-pip.py && python get-pip.py --user
. 이 관련 질문은 나 에게이 힌트를 주었다.
이것이 작동하지 않으면 libssl-dev
Ubuntu 또는 openssl-dev
CentOS 용으로 설치되어 있는지 확인하십시오 . 로 설치 apt-get
또는 yum
재 빌드 파이썬하고 (이미 설치된 경우에는 아무것도 제거 할 필요가 없습니다, 상단에 이렇게). py shell에서 get-pip
실행 import ssl
하여 확인할 수 있습니다 .
마지막으로, 선언 .local/bin
하고 로컬 파이썬을 경로로 지정 which pip
하고 and로 확인하십시오 which python
.
pyenv로 전체 가이드
pyenv가 설치되어 있지 않으면 pyenv-installer로 설치하십시오 :
$ curl https://pyenv.run | bash
사용자 정의 파이썬 버전을 3.5.6
사용하려면 다음을 사용하십시오.
pyenv install 3.5.6
pyenv virtualenv 3.5.6 name_of_your_env
pyenv activate name_of_your_env
아니요, 그러나 디렉토리 아래에 격리 된 Python 빌드 (예 : ActivePython )를 설치할 수 있습니다 $HOME
.
이 방법은 가장 빠르며 파이썬을 직접 컴파일하지 않아도됩니다.
(보너스로, 당신은 또한은 ActiveState의 사용에 도착 바이너리 패키지 관리자 )
그래서 여기 @toszter 응답을 기반으로 구축 필자을 간다, 적절한 답을 발견하지 않은,하지만 시스템 파이썬을 사용하지 않는 것이 많은 다룰 때 시스템 레벨에서 setuptools에와 VIRTUALENV를 설치하는 것이 좋은 생각이 아니다, (당신은 알고 있습니다 파이썬 구성) :
#!/bin/sh
mkdir python_ve
cd python_ve
MYROOT=`pwd`
mkdir env pyenv dep
cd ${MYROOT}/dep
wget https://pypi.python.org/packages/source/s/setuptools/setuptools-15.2.tar.gz#md5=a9028a9794fc7ae02320d32e2d7e12ee
wget https://raw.github.com/pypa/virtualenv/master/virtualenv.py
wget https://www.python.org/ftp/python/2.7.9/Python-2.7.9.tar.xz
xz -d Python-2.7.9.tar.xz
cd ${MYROOT}/pyenv
tar xf ../dep/Python-2.7.9.tar
cd Python-2.7.9
./configure --prefix=${MYROOT}/pyenv && make -j 4 && make install
cd ${MYROOT}/pyenv
tar xzf ../dep/setuptools-15.2.tar.gz
cd ${MYROOT}
pyenv/bin/python dep/virtualenv.py --no-setuptools --python=${MYROOT}/pyenv/bin/python --verbose env
env/bin/python pyenv/setuptools-15.2/setup.py install
env/bin/easy_install pip
echo "virtualenv in ${MYROOT}/env"
치킨 달걀 문제를 해결하는 비결은 setuptools없이 virtualenv를 먼저 만드는 것입니다. 그렇지 않으면 실패하기 때문에 (핍을 찾을 수 없음). pip / wheel을 직접 설치하는 것이 가능할 수도 있지만 어떻게 든 easy_install이 가장 먼저 생각났습니다. 또한 구체적인 버전을 제거하여 스크립트를 개선 할 수 있습니다.
NB. 스크립트에서 xz 사용
우선, 멋진 답변을 해주셔서 감사합니다. 거의 완벽합니다.
공유 호스팅에서 GCC 액세스 권한이없는 사람들은 Scott Stafford와 같은 일반적인 파이썬 대신 ActivePython으로 이동하십시오. 이에 대한 명령은 다음과 같습니다.
wget http://downloads.activestate.com/ActivePython/releases/2.7.13.2713/ActivePython-2.7.13.2713-linux-x86_64-glibc-2.3.6-401785.tar.gz
tar -zxvf ActivePython-2.7.13.2713-linux-x86_64-glibc-2.3.6-401785.tar.gz
cd ActivePython-2.7.13.2713-linux-x86_64-glibc-2.3.6-401785
./install.sh
파이썬 디렉토리의 경로를 묻습니다. 시작하다
../../.localpython
DTing의 답변에서 1 단계로 위의 내용을 바꾸고 그 후에 2 단계로 진행하십시오. ActivePython 패키지 URL은 새로운 릴리스에 따라 변경 될 수 있습니다. 당신은 항상 여기에서 새로운 URL을 얻을 수 있습니다 : http://www.activestate.com/activepython/downloads
URL을 기반으로 수신 된 파일을 기반으로 tar 및 cd 명령의 이름을 변경해야합니다.
make clean
하기 전에 할 필요가 없었습니다 . 2. 일하지 않았다 대신 일했다. 나는 그것이 virtualenv 버전으로 가정합니다. 건배!./configure --prefix=/home/<user>/.localpython
make clean
virtualenv name -p=/python/path
virtualenv name -p /python/path