programing

Virtualenv에 다른 버전의 Python을 설치할 수 있습니까?

muds 2023. 7. 30. 18:10
반응형

Virtualenv에 다른 버전의 Python을 설치할 수 있습니까?

Python 2.4가 설치된 웹 호스팅에 공유 계정이 있지만 코드가 2.4와 호환되지 않습니다.Virtualenv에 Python 2.6을 직접 설치할 수 있습니까?

참고: 공유 서버에 설치할 권한이 없습니다.

다음은 가상 환경에 대한 옵션입니다.

$ 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

당신이 원하는 것은 당신이 쓸 수 있는 디렉토리에 파이썬을 설치하는 것입니다.

당신은 지침을 따를 수 있습니다.

Python 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

가상 환경 설치
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

로컬 파이썬을 사용하여 가상 환경 생성
virtualenv docs

mkdir /home/${USER}/virtualenvs
cd /home/${USER}/virtualenvs
~/.localpython/bin/virtualenv py2.7 --python=/home/${USER}/.localpython/bin/python2.7

환경 활성화

cd ~/virtualenvs/py2.7/bin
source ./activate

수표

(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.
>>> 

사전 요구 사항:

  1. sudo easy_install virtualenv
  2. sudo pip install virtualenvwrapper

Python2로 virtualenv를 설치하는 중입니다.6:

  1. 으로 다른 을 다운로드,및할 수 ./usr/local또는 다른 장소.

  2. ▁가 아닌 다른 /usr/localPATH에 추가합니다.

  3. 셸을 다시 로드하여 업데이트된 PATH를 선택합니다.

  4. 셸에서 할 수 .python2.5그리고.python2.6

  5. 가환 인턴새생을 사용하여 의 새 python2.6:

    mkvirtualenv --python=python2.6 yournewenv

최근에 Python의 최신 버전을 발견한 가장 쉬운 방법은 콘다를 통해 콘다 환경에 설치하는 것입니다.


설치 조건(이를 위해 가상 환경이 필요할 수 있음)

pip install conda

Conda 환경 내에 새 Python 버전 설치

수동 다운로드가 필요 없기 때문에 이 답변을 여기에 추가합니다.conda그렇게 해줄 겁니다

이제 원하는 Python 버전을 위한 환경을 만드십시오.에서는 이예서다사용니다합음을는에다니사합용▁use▁in▁i를 하겠습니다.3.5.2왜냐하면 이 시점(2016년 8월)에 최신 버전이기 때문입니다.

conda create -n py35 python=3.5.2

콘다가 패키지를 설치할 수 있는 환경을 만들 것입니다.


이 환경을 활성화하려면(리눅스가 아니면 콘다 문서를 확인해야 합니다):

source activate py35

이제 환경에서 pip 또는 conda를 통해 필요한 것을 설치합니다(conda는 더 나은 이진 패키지 지원).

conda install <package_name>

파이엔브가 포함된 전체 가이드

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
cd YOUR_PROJECT_PATH
pyenv local NAME_OF_YOUR_ENV

일반적인 접근 방식은 소스를 다운로드하고 로컬에서 빌드 및 설치한 다음(가상 환경에 직접 설치하지는 않음) 로컬 Python 설치를 사용하여 새 가상 환경을 생성하는 것입니다.일부 시스템에서는 소스에서 빌드하는 대신 미리 빌드된 파이썬을 다운로드하여 설치할 수 있습니다.

이 절차는 Python 2.7을 아무 곳에나 설치하고 사용자 내에서 절대 경로 참조를 제거합니다.env폴더(가상 환경에서 관리됨).virtualenv도 절대적으로 설치되지 않습니다.

따라서 이론적으로 Python(또는 종속성)이 설치되지 않은 시스템에서 tarball에 최상위 디렉터리를 삭제하고 tarball 내에서 구성된 모든 것을 배포하고 실행할 수 있습니다.

궁금한 점이 있으면 저에게 연락하세요.이것은 제가 진행 중인 더 큰 프로젝트의 일부일 뿐입니다.자, 이제 한 방울...

  1. 환경 폴더를 설정합니다.

    $ mkdir env
    $ mkdir pyenv
    $ mkdir dep
    
  2. 루트 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
    
  3. Python-2하여 Python-2.7.3 합니다.pyenv 디르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
    
  4. 가상 환경 생성

    $ dep/virtualenv.py --python=/path/to/pyenv/bin/python --verbose env
    
  5. python2 내에서 에 대한 합니다.7에 대한 심볼 링크를 수정합니다.env/include/

    $ ls -l env/include/
    $ cd !$
    $ rm python2.7
    $ ln -s ../../pyenv/include/python2.7 python2.7
    $ cd ../../
    
  6. 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 ../../../
    
  7. 시험

    $ python --version
    Python 2.7.1
    $ source env/bin/activate
    (env)
    $ python --version
    Python 2.7.3
    

알로하.

virtualenwrapper를 사용하고 있으며 $PATH를 수정하고 싶지 않습니다. 다음 방법이 있습니다.

$ which python3
/usr/local/bin/python3

$ mkvirtualenv --python=/usr/local/bin/python3 env_name

pyenv를 사용해도 됩니다.

아나콘다, 자이썬, 파이피 등 다양한 버전이 있습니다.

https://github.com/yyuu/pyenv

간한설치처럼 설치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을 설치하는 것이 구체적으로 설명되어 있지만, 위의 우수한 답변에 중요한 몇 가지 사항을 추가하여 누군가 이 문제를 발견할 경우에 대비하고 싶습니다.참고로 제 경우는 unbu 10.04 박스에 2.7을 설치하려고 했습니다.

먼저, 여기에 설명된 모든 답변에 대한 제 동기는 데드스네이크의 ppa에서 파이썬을 설치하는 것이 완전히 실패했다는 것입니다.따라서 로컬 Python을 구축하는 것이 방법입니다.

그렇게 시도한 후, 저는 pip의 기본 설치에 의존한다고 생각했습니다.sudo apt-get install pip이 적당할 것입니다.안타깝게도 이것은 잘못된 것입니다.알고 보니 끔찍한 문제가 너무 많아서 결국 가상 환경을 생성할 수 없었습니다.

그러므로, 저는 pip를 로컬에 설치하는 것을 강력히 추천합니다.wget https://raw.github.com/pypa/pip/master/contrib/get-pip.py && python get-pip.py --user와 관련된 질문은 저에게 이런 힌트를 주었습니다.

이제 이것이 작동하지 않으면 Ubuntu 또는 Cent에 대해 확인하십시오.OS가 설치되어 있습니다.설치 대상apt-get또는yum그런 다음 Python을 다시 빌드합니다(이미 설치된 경우 제거할 필요가 없습니다. 위에서 수행).get-pip그것에 대해 불평합니다. 실행하면 확인할 수 있습니다.import ssl껍질이 벗겨진

마지막으로, 선언하는 것을 잊지 마십시오..local/bin및 로컬 파이썬에서 경로로, 확인which pip그리고.which python.

아니요, 하지만 당신은 당신의 아래에 격리된 Python 빌드(: ActivePython)를 설치할 수 있습니다.$HOME디렉토리입니다.

이 접근 방식은 가장 빠르며 사용자가 직접 Python을 컴파일할 필요가 없습니다.

(상여로 ActiveState의 이진 패키지 관리자도 사용할 수 있습니다.)

적절한 답변을 찾지 못했기 때문에 @tozter 답변을 기반으로 하지만 시스템 Python을 사용하지는 않습니다(그리고 많은 Python 구성을 다룰 때 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"

여기서 닭 알 문제를 해결하는 비결은 셋업 도구가 없는 가상 환경을 먼저 만드는 것입니다. 그렇지 않으면 실패하기 때문입니다(파이프를 찾을 수 없습니다).pip/wheel을 직접 설치하는 것이 가능할 수도 있지만, 왠지 쉬운 설치가 제일 먼저 생각났습니다.또한 구체적인 버전을 고려하여 스크립트를 개선할 수 있습니다.

NB. 스크립트에서 xz 사용.

먼저 멋진 답변 감사합니다.거의 완벽해요.

공유 호스팅에서 GCC 액세스가 없어 어려움을 겪고 있는 사람들을 위해 스콧 스태퍼드가 언급한 일반 파이썬 대신 액티브 파이썬으로 이동하십시오.다음은 이에 대한 명령입니다.

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은 새 릴리스에 따라 변경될 수 있습니다.http://www.activestate.com/activepython/downloads 에서 언제든지 새 URL을 얻을 수 있습니다.

URL에 따라 수신된 파일에 따라 tar 및 cd 명령어의 이름을 변경해야 합니다.

virtualenv --virtualenv=."localpython/bin/sys2.7" 환경

언급URL : https://stackoverflow.com/questions/5506110/is-it-possible-to-install-another-version-of-python-to-virtualenv

반응형