Python 2.4 kurulu bir web barındırma hesabım var, ancak kodum 2.4 ile uyumlu değil. Python 2.6'yı doğrudan Virtualenv'e kurmak mümkün müdür?
Not: Paylaşılan sunucuya yükleme iznim yok.
Yanıtlar:
İşte virtualenv için seçenekler
$ 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) Yapmak istediğiniz, python'u sizin de yazabileceğiniz bir dizine kurmaktır.
Talimatları takip edebilirsiniz here.
Python 2.7.1 için
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'i kurun
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) Yerel python'unuzu kullanarak bir virtualenv oluşturun
virtualenv docs
mkdir /home/${USER}/virtualenvs
cd /home/${USER}/virtualenvs
~/.localpython/bin/virtualenv py2.7 --python=/home/${USER}/.localpython/bin/python2.7
4) Ortamı etkinleştirin
cd ~/virtualenvs/py2.7/bin
source ./activate
5) Kontrol edin
(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
sourceNitpick : bir bashizmdir. POSIX eşdeğeri ..
Ön koşullar:
sudo easy_install virtualenvsudo pip install virtualenvwrapperVirtualenv'i Python2.6 ile yükleme:
Python'un başka bir sürümünü /usr/localveya başka bir konuma manuel olarak indirebilir, oluşturabilir ve kurabilirsiniz .
Dışında başka bir /usr/localkonumsa, onu PATH'nize ekleyin.
Güncellenen PATH'i almak için kabuğunuzu yeniden yükleyin.
Bu noktadan itibaren, aşağıdaki 2 python ikili dosyasını kabuğunuzdan çağırabilmelisiniz python2.5vepython2.6
Aşağıdakilerle yeni bir virtualenv örneği oluşturun python2.6:
mkvirtualenv --python=python2.6 yournewenv
Bu prosedür Python2.7 yükler yerde ve her mutlak yol referansları ortadan kaldırır senin içinde envklasöründe (virtualenv tarafından yönetilen) . Virtualenv bile kesinlikle kurulmamış.
Böylece, teorik olarak, en üst düzey dizini bir tarball'a bırakabilir, Python (veya herhangi bir bağımlılık) kurulu olmayan bir makinede tarball içinde yapılandırılan her şeyi dağıtabilir ve çalıştırabilirsiniz .
Herhangi bir sorunuz varsa bana ulaşın. Bu, mühendisliğini yaptığım devam eden, daha büyük bir projenin sadece bir parçası. Şimdi, damla ...
Ortam klasörlerini ayarlayın.
$ mkdir env
$ mkdir pyenv
$ mkdir dep
Python-2.7.3 ve virtualenv'i herhangi bir kök işletim sistemi kurulumu olmadan edinin .
$ 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
Python-2.7.3'ü ayıklayın ve dizine yükleyin pyenv. make cleanBunu 2., 3., N. kez yapıyorsanız isteğe bağlıdır ...
$ 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
Sanal ortamınızı oluşturun
$ dep/virtualenv.py --python=/path/to/pyenv/bin/python --verbose env
Symlink'i python2.7 olarak sabitleyin env/include/
$ ls -l env/include/
$ cd !$
$ rm python2.7
$ ln -s ../../pyenv/include/python2.7 python2.7
$ cd ../../
Env'de kalan python sembolik bağlarını düzeltin. Yukarıdaki gibi sembolik olarak bağlantılı dizinleri silmeniz ve yeniden oluşturmanız gerekecek. Ayrıca, yerinde sembolik bağlantı oluşturmaya zorlamak için sözdizimi burada.
$ 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 ../../../
Ölçek
$ python --version
Python 2.7.1
$ source env/bin/activate
(env)
$ python --version
Python 2.7.3
Aloha.
Şimdi bir gün, daha güncel bir Python sürümüne sahip olmanın en kolay yolu, onu conda aracılığıyla bir conda ortamına kurmaktır.
Conda'yı yükleyin (bunun için bir virtualenv'e ihtiyacınız olabilir)
pip install conda
Bu yanıtı buraya ekliyorum çünkü manuel indirme gerekmiyor. condabunu senin için yapacak.
Şimdi istediğiniz Python sürümü için bir ortam oluşturun. Bu örnekte kullanacağım 3.5.2, çünkü bu yazım zamanının en son sürümü (Ağustos 2016).
conda create -n py35 python=3.5.2
Conda'nın paketleri kurması için bir ortam yaratacak
Bu ortamı etkinleştirmek için ( linux'u varsayıyorum, aksi takdirde conda belgelerine bakın ):
source activate py35
Şimdi ihtiyacınız olanı ya pip ya da conda aracılığıyla çevreye kurun (conda'nın daha iyi ikili paket desteği vardır).
conda install <package_name>
Genel yaklaşım, kaynağı indirip yerel olarak derleyip kurmak (ancak doğrudan virtualenv'de değil) ve ardından bu yerel Python kurulumunu kullanarak yeni bir virtualenv oluşturmaktır. Bazı sistemlerde, kaynaktan derlemek yerine önceden oluşturulmuş bir python indirmek ve kurmak mümkün olabilir.
Pyenv kullanabilirsiniz.
Anaconda, jython, pypy ve benzeri birçok farklı sürüm var ...
Kurulum kadar basit 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
...
Soru 2.6'nın kurulumunu özel olarak tanımlasa da, birinin bununla karşılaşması durumunda yukarıdaki mükemmel cevaplara bazı önemli noktalar eklemek istiyorum. Kayıt için, benim durumum 2.7'yi bir ubuntu 10.04 kutusuna yüklemeye çalışmamdı.
İlk olarak, buradaki tüm cevaplarda açıklanan yöntemlere yönelik motivasyonum, Python'u deadsnake'in ppa'sından kurmanın tam bir başarısızlık olduğu. Bu nedenle, yerel bir Python inşa etmenin yolu budur.
Bunu denedikten sonra, varsayılan pip (with sudo apt-get install pip) kurulumuna güvenmenin yeterli olacağını düşündüm . Bu maalesef yanlış. Görünüşe göre, tüm kötü konulardan kısa bir süre alıyordum ve sonunda bir sanal ortam yaratamıyordum.
Bu nedenle, son derece tavsiye lokal olarak pip yüklemek ile wget https://raw.github.com/pypa/pip/master/contrib/get-pip.py && python get-pip.py --user. Bu ilgili soru bana bu ipucu verdi.
Şimdi bu işe yaramazsa, libssl-devUbuntu için veya openssl-devCentOS için kurulu olduğundan emin olun . Bunları apt-getveya ile yükleyin yumve ardından Python'u yeniden oluşturun (zaten kuruluysa hiçbir şeyi kaldırmaya gerek yoktur, bunu en üstte yapın). get-pipbundan şikayet ederse, bunu import sslbir py shell'de çalıştırarak kontrol edebilirsiniz .
Son, beyan etmeyi unutmayın .local/binve yerel piton yoluna, kontrol which pipve which python.
Pyenv ile tam rehber
Pyenv kurulu değilse pyenv-installer ile kurun :
$ curl https://pyenv.run | bash
Herhangi bir özel python sürümünü 3.5.6kullanmak için , örneğin aşağıdakileri kullanın:
pyenv install 3.5.6
pyenv virtualenv 3.5.6 name_of_your_env
pyenv activate name_of_your_env
Hayır, ancak dizininizin altına yalıtılmış bir Python derlemesi ( ActivePython gibi ) kurabilirsiniz $HOME.
Bu yaklaşım en hızlı olanıdır ve Python'u kendiniz derlemenizi gerektirmez.
(bonus olarak, ActiveState'in ikili paket yöneticisini de kullanabilirsiniz )
Uygun bir cevap bulamadım, işte burada @toszter cevabına dayanan, ancak Python sistemini kullanmayan (ve birçok şeyle uğraşırken sistem düzeyinde kurulum araçlarını ve virtualenv'i kurmanın her zaman iyi bir fikir olmadığını biliyor olabilirsiniz. Python yapılandırmaları):
#!/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"
Buradaki tavuk-yumurta problemini kırmanın püf noktası, kurulum araçları olmadan virtualenv yapmaktır, aksi takdirde başarısız olur (pip bulunamaz). Direkt olarak pip / wheel kurmak mümkün olabilir, ama bir şekilde easy_install aklıma gelen ilk şeydi. Ayrıca, komut dosyası somut sürümleri çarpanlarına ayırarak geliştirilebilir.
NB. Komut dosyasında xz kullanılması.
Her şeyden önce, harika cevap için DTing'e teşekkürler. Oldukça mükemmel.
Paylaşılan barındırmada GCC erişimine sahip olmamaktan muzdarip olanlar için, Scott Stafford'un bahsettiği gibi normal python yerine Go for ActivePython. İşte bunun için komutlar.
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
Size python dizininin yolunu soracaktır. Giriş
../../.localpython
DTing'in cevabında yukarıdaki Adım 1 olarak değiştirin ve bundan sonra Adım 2'ye geçin. ActivePython paket URL'sinin yeni sürümle değişebileceğini lütfen unutmayın. Her zaman buradan yeni URL alabilirsiniz: http://www.activestate.com/activepython/downloads
URL'ye bağlı olarak, alınan dosyaya göre tar ve cd komutunun adını değiştirmeniz gerekir.
make cleanönce yapmak zorunda değildim./configure --prefix=/home/<user>/.localpythonaslındamake cleanhata döndürdü. 2.virtualenv name -p=/python/pathçalışmadı yerinevirtualenv name -p /python/pathçalıştı. Virtualenv sürümüne düştüğünü varsayıyorum. şerefe!