Python 2.4がインストールされているWebホスティングに共有アカウントがありますが、コードは2.4と互換性がありません。 VirtualenvにPython 2.6を直接インストールすることはできますか?
注:共有サーバーにインストールする権限がありません。
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)あなたがしたいのは、あなたも書き込めるディレクトリにpythonをインストールすることです。
指示に従うことができます here
。
For Python 2.7.1Python 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)ローカルpythonを使用して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.
>>>
前提条件:
Sudo easy_install virtualenv
Sudo pip install virtualenvwrapper
Python2.6でのvirtualenvのインストール:
/usr/local
または別の場所に手動でダウンロード、ビルド、およびインストールできます。/usr/local
以外の別の場所の場合は、PATHに追加します。python2.5
およびpython2.6
python2.6
を使用してvirtualenvの新しいインスタンスを作成します。
mkvirtualenv --python=python2.6 yournewenv
私はvirtualenvwrapperを使用していますが、$ PATHを変更したくないので、次のようにします:
$ which python3
/usr/local/bin/python3
$ mkvirtualenv --python=/usr/local/bin/python3 env_name
この手順では、Python2.7をインストールしますどこでも絶対パス参照を削除しますenv
フォルダー内(virtualenvで管理)。 virtualenvでさえ絶対にインストールされません。
したがって、理論的には、最上位ディレクトリをtarballにドロップし、Pythonを持たないマシンでtarball内に設定されたものを配布し、実行できます。依存関係)インストール済み。
質問があれば私に連絡してください。これは、現在進行中の大規模なプロジェクトの一部です。さて、ドロップのために...
環境フォルダーをセットアップします。
$ mkdir env
$ mkdir pyenv
$ mkdir dep
Python-2.7.3およびvirtualenv withoutのルートOSインストールの任意の形式を取得します。
$ 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を抽出してpyenv
dirにインストールします。 make clean
は、2回目、3回目、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
env/include/
内のpython2.7へのシンボリックリンクを修正します
$ ls -l env/include/
$ cd !$
$ rm python2.7
$ ln -s ../../pyenv/include/python2.7 python2.7
$ cd ../../
Envの残りのpythonシンボリックリンクを修正します。上記のように、シンボリックリンクされたディレクトリを削除し、再作成する必要があります。また、インプレースシンボリックリンクの作成を強制する構文もここにあります。
$ 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
アロハ。
今では、Pythonのより更新されたバージョンを見つけた最も簡単な方法は、condaを介してconda環境にインストールすることです。
Condaをインストールします(これにはvirtualenvが必要になる場合があります)
pip install conda
手動でダウンロードする必要がないため、この回答をここに追加します。 conda
がそれを行います。
次に、必要なPythonバージョンの環境を作成します。この例では、3.5.2
を使用します。これは、このドキュメントの執筆時点(2016年8月)の最新バージョンであるためです。
conda create -n py35 python=3.5.2
Condaがパッケージをインストールするための環境を作成します
この環境をアクティブにするには(Linuxを想定しており、そうでない場合は conda docs を確認してください):
source activate py35
Environemntでpipまたはcondaを使用して必要なものをインストールします(condaにはバイナリパッケージのサポートがあります)。
conda install <package_name>
通常のアプローチは、ソースをダウンロードし、ローカルにビルドしてインストールし(virtualenvに直接ではない)、そのローカルPythonインストールを使用して新しいvirtualenvを作成することです。一部のシステムでは、ソースからビルドするのではなく、ビルド済みのPythonをダウンロードしてインストールできる場合があります。
Pyenvを使用できます。
アナコンダ、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のインストールについて具体的に説明していますが、誰かがこれに遭遇した場合に備えて、上記の優れた回答にいくつかの重要なポイントを追加したいと思います。記録のために、私の場合は、ubuntu 10.04ボックスに2.7をインストールしようとしていました。
最初に、ここでのすべての回答に記載されている方法に対する私の動機は、 deadsnake's ppa's からPythonをインストールすることが完全に失敗したことです。したがって、ローカルPythonを構築するのがよいでしょう。
試してみたので、デフォルトのpipのインストール(Sudo apt-get install pip
を使用)に頼るだけで十分だと思いました。残念ながらこれは間違っています。私は厄介な問題のすべてのショートを取得しており、最終的にvirtualenvを作成することができなかったことが判明しました。
したがって、pipをローカルにインストールするとwget https://raw.github.com/pypa/pip/master/contrib/get-pip.py && python get-pip.py --user
を強くお勧めします。 これ 関連する質問がこのヒントをくれました。
これが機能しない場合、Ubuntuの場合は libssl-dev
を、CentOSの場合は openssl-dev
がインストールされていることを確認してください。 apt-get
またはyum
を使用してインストールし、Pythonを再構築します(既にインストールされている場合は何も削除する必要はありません。上で行ってください)。 get-pip
はそれについて文句を言います。pyシェルでimport ssl
を実行することで確認できます。
最後に、.local/bin
とローカルpythonをパスに宣言することを忘れないでください。which pip
とwhich python
で確認してください。
いいえ。ただし、$HOME
ディレクトリの下に、隔離されたPythonビルド( ActivePython など)をインストールできます。
このアプローチは最速であり、Pythonを自分でコンパイルする必要はありません。
(ボーナスとして、ActiveStateの バイナリパッケージマネージャー )も使用できます
適切な答えが見つかりませんでしたので、@ toszterの答えに基づいて作成された私のテイクに行きますが、システムPythonを使用しませんシステムレベルで多くの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"
ここで鶏卵の問題を解決するコツは、setuptoolsを使用せずにvirtualenvを作成することです。 pip/wheelを直接インストールすることも可能かもしれませんが、どういうわけかeasy_installが最初に思い浮かびました。また、具体的なバージョンを除外することで、スクリプトを改善できます。
NB。スクリプトでxzを使用します。
まず第一に、素晴らしい回答をありがとうございました。それはほとんど完璧です。
共有ホスティングでGCCにアクセスできないことに苦しんでいる人のために、Scott Staffordが述べたような通常のpythonの代わりに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
pythonディレクトリへのパスを尋ねます。入る
../../.localpython
DTingの答えのステップ1として上記を置き換え、その後ステップ2に進んでください。 ActivePythonパッケージのURLは、新しいリリースで変更される可能性があることに注意してください。ここからいつでも新しいURLを取得できます。 http://www.activestate.com/activepython/downloads
URLに基づいて、受信したファイルに基づいてtarおよびcdコマンドの名前を変更する必要があります。