Jawaban:
Berikut adalah opsi untuk 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) Yang ingin Anda lakukan adalah menginstal python ke direktori yang dapat Anda tulis juga.
Anda bisa mengikuti instruksinya here
.
Untuk 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
2) Instal 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) Buat virtualenv menggunakan python lokal Anda
virtualenv docs
mkdir /home/${USER}/virtualenvs
cd /home/${USER}/virtualenvs
~/.localpython/bin/virtualenv py2.7 --python=/home/${USER}/.localpython/bin/python2.7
4) Aktifkan lingkungan
cd ~/virtualenvs/py2.7/bin
source ./activate
5) Periksa
(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
adalah bashism. Setara dengan POSIX adalah .
.
Prasyarat:
sudo easy_install virtualenv
sudo pip install virtualenvwrapper
Menginstal virtualenv dengan Python2.6:
Anda bisa mengunduh, membuat, dan memasang versi Python ke /usr/local
atau ke lokasi lain secara manual .
Jika bukan lokasi lain /usr/local
, tambahkan ke PATH Anda.
Muat ulang shell Anda untuk mengambil PATH yang diperbarui.
Mulai saat ini, Anda harus dapat memanggil 2 biner python berikut dari shell Anda python2.5
danpython2.6
Buat instance baru virtualenv dengan python2.6
:
mkvirtualenv --python=python2.6 yournewenv
Prosedur ini menginstal Python2.7 di mana saja dan menghilangkan referensi path absolut dalam env
folder Anda (dikelola oleh virtualenv) . Bahkan virtualenv tidak diinstal secara absolut.
Dengan demikian, secara teoritis, Anda dapat menjatuhkan direktori tingkat atas ke dalam tarball, mendistribusikan, dan menjalankan apa pun yang dikonfigurasikan dalam tarball pada mesin yang tidak memiliki Python (atau dependensi) yang diinstal.
Hubungi saya jika ada pertanyaan. Ini hanya bagian dari proyek berkelanjutan yang lebih besar yang saya rekayasa. Sekarang, untuk drop ...
Atur folder lingkungan.
$ mkdir env
$ mkdir pyenv
$ mkdir dep
Dapatkan Python-2.7.3, dan virtualenv tanpa instalasi root OS apa pun.
$ 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
Ekstrak dan instal Python-2.7.3 ke dalam pyenv
dir. make clean
adalah opsional jika Anda melakukan ini ke-2, ke-3, ke-9 ...
$ 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
Buat virtualenv Anda
$ dep/virtualenv.py --python=/path/to/pyenv/bin/python --verbose env
Perbaiki symlink ke python2.7 di dalamnya env/include/
$ ls -l env/include/
$ cd !$
$ rm python2.7
$ ln -s ../../pyenv/include/python2.7 python2.7
$ cd ../../
Perbaiki symlink python yang tersisa di env. Anda harus menghapus direktori yang terhubung secara simbolis dan membuatnya kembali, seperti di atas. Juga, inilah sintaks untuk memaksa pembuatan tautan simbolik di tempat.
$ 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 ../../../
Uji
$ python --version
Python 2.7.1
$ source env/bin/activate
(env)
$ python --version
Python 2.7.3
Aloha.
Pendekatan yang biasa adalah mengunduh sumber dan membangun dan menginstal secara lokal (tetapi tidak secara langsung dalam virtualenv), dan kemudian membuat virtualenv baru menggunakan instal Python lokal itu. Pada beberapa sistem, dimungkinkan untuk mengunduh dan menginstal python prebuilt, daripada membangun dari sumber.
Sekarang, cara termudah yang saya temukan untuk memiliki versi Python yang lebih baru adalah menginstalnya melalui conda ke lingkungan conda.
Instal conda (Anda mungkin memerlukan virtualenv untuk ini)
pip install conda
Saya menambahkan jawaban ini di sini karena tidak diperlukan pengunduhan manual. conda
akan melakukannya untuk Anda.
Sekarang buat lingkungan untuk versi Python yang Anda inginkan. Dalam contoh ini saya akan menggunakan 3.5.2
, karena ini adalah versi terbaru saat penulisan ini (Agustus 2016).
conda create -n py35 python=3.5.2
Akan menciptakan lingkungan bagi conda untuk menginstal paket
Untuk mengaktifkan lingkungan ini (saya mengasumsikan linux jika tidak memeriksa conda docs ):
source activate py35
Sekarang instal apa yang Anda butuhkan baik melalui pip atau conda di lingkungan (conda memiliki dukungan paket biner yang lebih baik).
conda install <package_name>
Anda dapat menggunakan pyenv.
Ada banyak versi yang berbeda anaconda, jython, pypy, dan sebagainya ...
Instalasi sesederhana 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
...
Meskipun pertanyaan secara khusus menjelaskan tentang menginstal 2.6, saya ingin menambahkan beberapa poin penting pada jawaban yang sangat baik di atas jika seseorang menemukan ini. Sebagai catatan, kasus saya adalah saya mencoba menginstal 2.7 pada kotak ubuntu 10.04.
Pertama, motivasi saya terhadap metode yang dijelaskan dalam semua jawaban di sini adalah bahwa menginstal Python dari ppa deadsnake telah gagal total. Jadi membangun Python lokal adalah caranya.
Setelah mencobanya, saya pikir mengandalkan instalasi default pip (with sudo apt-get install pip
) akan memadai. Sayangnya ini salah. Ternyata saya mendapatkan semua masalah pendek yang buruk dan akhirnya tidak bisa membuat virtualenv.
Oleh karena itu, saya sangat merekomendasikan untuk menginstal pip secara lokal dengan wget https://raw.github.com/pypa/pip/master/contrib/get-pip.py && python get-pip.py --user
. Pertanyaan terkait ini memberi saya petunjuk ini.
Sekarang jika ini tidak berhasil, pastikan libssl-dev
untuk Ubuntu atau openssl-dev
untuk CentOS diinstal. Instal mereka dengan apt-get
atau yum
dan kemudian membangun kembali Python (tidak perlu menghapus apa pun jika sudah diinstal, lakukan di atas). get-pip
mengeluh tentang itu, Anda dapat memeriksanya dengan menjalankan import ssl
shell py.
Terakhir, jangan lupa untuk mendeklarasikan .local/bin
dan python lokal untuk path, periksa dengan which pip
dan which python
.
Panduan lengkap dengan pyenv
Jika pyenv tidak diinstal maka instal dengan pyenv-installer :
$ curl https://pyenv.run | bash
Untuk menggunakan versi python khusus, mis. 3.5.6
Gunakan yang berikut:
pyenv install 3.5.6
pyenv virtualenv 3.5.6 name_of_your_env
pyenv activate name_of_your_env
Tidak, tetapi Anda dapat menginstal bangunan Python yang terisolasi (seperti ActivePython ) di bawah $HOME
direktori Anda .
Pendekatan ini adalah yang tercepat , dan tidak mengharuskan Anda untuk mengkompilasi Python sendiri.
(sebagai bonus, Anda juga bisa menggunakan manajer paket biner ActiveState )
Saya belum menemukan jawaban yang cocok, jadi inilah yang saya ambil, yang dibangun di atas @toszter jawaban, tetapi tidak menggunakan sistem Python (dan Anda mungkin tahu, itu tidak selalu ide yang baik untuk menginstal setuptools dan virtualenv pada tingkat sistem ketika berurusan dengan banyak Konfigurasi python):
#!/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"
Trik memecahkan masalah ayam-telur di sini adalah membuat virtualenv tanpa setuptools terlebih dahulu, karena jika tidak gagal (pip tidak dapat ditemukan). Dimungkinkan untuk menginstal pip / roda secara langsung, tetapi entah bagaimana easy_install adalah hal pertama yang terlintas di pikiran saya. Juga, skrip dapat ditingkatkan dengan memperhitungkan versi konkret.
NB. Menggunakan xz dalam skrip.
Pertama-tama, Terima kasih DTing untuk jawaban yang luar biasa. Cukup sempurna.
Bagi mereka yang menderita karena tidak memiliki akses GCC di shared hosting, Go for ActivePython bukan python normal seperti yang disebutkan Scott Stafford. Inilah perintah untuk itu.
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
Ini akan meminta Anda path ke direktori python. Memasukkan
../../.localpython
Cukup ganti di atas sebagai Langkah 1 dalam jawaban DTing dan lanjutkan dengan Langkah 2 setelah itu. Harap perhatikan bahwa URL paket ActivePython dapat berubah dengan rilis baru. Anda selalu dapat memperoleh URL baru dari sini: http://www.activestate.com/activepython/downloads
Berdasarkan URL Anda perlu mengubah nama tar dan perintah cd berdasarkan file yang diterima.
make clean
sebelum melakukan./configure --prefix=/home/<user>/.localpython
ternyatamake clean
mengembalikan kesalahan. 2.virtualenv name -p=/python/path
tidak berhasil, bukannyavirtualenv name -p /python/path
berhasil. Saya menganggap itu ke versi virtualenv. Bersulang!