これは、人々が最も頻繁に推奨しているように見えるこれですか?
$ Sudo apt-get install python-setuptools
$ Sudo easy_install pip
$ Sudo pip install virtualenv
または、これは http://www.pip-installer.org/en/latest/installing.html から取得しました。
$ curl -O https://github.com/pypa/virtualenv/raw/master/virtualenv.py
$ python virtualenv.py my_new_env
$ . my_new_env/bin/activate
(my_new_env)$ pip install ...
それともまったく違うものですか?
最新のPython(2.7.9以降)をインストールできる場合、Pipがバンドルされています。参照: https://docs.python.org/2.7//installing/index.html
そうでない場合:
アップデート(リリースノートから):
V1.5.1以降、pipはget-pip.pyを実行する前にsetuptoolsを必要としません。さらに、setuptools(または配布)がまだインストールされていない場合、get-pip.pyはsetuptoolsをインストールします。
私は今、定期的に実行します:
curl --silent --show-error --retry 5 https://bootstrap.pypa.io/get-pip.py | Sudo python
公式のインストール手順は次のとおりです。 http://pip.readthedocs.org/en/latest/installing.html#install-pip
EDIT 2013年7月25日:
setuptoolsインストールのURLを変更しました。
2014年2月10日編集:
setuptoolsのインストールを削除(@Cianticに感謝)
EDIT 2014年6月26日:
URLを再度更新しました(@LarsHに感謝)
2015年3月1日編集:
PipはPythonにバンドルされました
http://www.pip-installer.org/en/latest/installing.html は、実際にこの質問に対する正解です。
具体的には、システム全体の指示は次のとおりです。
$ curl -O http://python-distribute.org/distribute_setup.py
$ python distribute_setup.py
$ curl -O https://raw.github.com/pypa/pip/master/contrib/get-pip.py
$ python get-pip.py
質問で引用されているセクションは、システム全体の指示ではなく、virtualenv
の指示です。 easy_install
命令は以前から存在していましたが、そのようにする必要はもうありません。
この答えは、Twitterの@webologyからのものです。
$ Sudo apt-get install python-setuptools
$ Sudo easy_install pip
$ Sudo pip install --upgrade pip virtualenv virtualenvwrapper
私の追加されたメモ:
Ubuntu 12.04では、パッケージマネージャーを使用するだけで幸運に恵まれました。
Sudo apt-get install python-pip virtualenvwrapper
これを行う:
curl "https://bootstrap.pypa.io/get-pip.py" -o "get-pip.py"
python get-pip.py
pip install virtualenv
見る
本当にこの質問に対する単一の「答え」はありませんが、決定を下すのに役立ついくつかの有用な概念は間違いなくあります。
ユースケースで回答する必要がある最初の質問は、「システムPythonを使用しますか?」です。オペレーティングシステムに同梱されているPythonを使用する場合は、apt-getインストール方法を使用するだけで十分です。ただし、オペレーティングシステムの配布方法によっては、「このパッケージの複数のバージョンをインストールしますか?」など、さらに質問する必要があります。答えが「はい」の場合、おそらくaptのようなものを使用するのは良い考えではありません。 Dpkgはファイルシステムのルートにあるアーカイブを解凍するだけなので、ほとんどの仮定の下でパッケージが安全にインストールされることを確認するのはパッケージメンテナー次第です。ほとんどのdebianパッケージの場合、私は彼らが単にuntarしてトップレベルのパッケージを提供すると仮定します(誰かがここで私を自由に修正できます)。
たとえば、パッケージが「virtualenv」だとすると、/usr/lib/python2.x/site-packages/virtualenv
になります。 easy_install
でインストールすると、/usr/lib/python2.x/site-packages/virtualenv.Egg-link
のようなものが得られます。これは/usr/lib/python2.x/site-packages/virtualenv-1.2-2.x.Egg
を指している場合があります。 Pipは同様のことを行いますが、eggを使用せず、代わりにトップレベルパッケージをlib
ディレクトリに直接配置します。
私はその道を離れているかもしれませんが、ポイントは各方法が異なるニーズを考慮に入れているということです。これが、virtualenvのようなツールがPythonライブラリをサンドボックス化して、ライブラリとバージョンの必要な組み合わせを持つことができるようにするのに役立つ理由です。
Setuptoolsでは、パッケージをマルチバージョンとしてインストールすることもできます。つまり、単一のmodule_name.Egg-link
は作成されません。これらのパッケージをインポートするには、pkg_resourcesと__import__
関数を使用する必要があります。
元の質問に戻って、システムpythonに満足していて、virtualenvとpipを使用してさまざまなアプリケーションの環境を構築し、apt-getを使用してシステムレベルでvirtualenvおよび/またはpipをインストールする場合完全に適切なようです。ただし、Pythonディストリビューションのアップグレードを計画している場合、システムサイトパッケージにリンクし直すと、virtualenvに波及効果が生じる可能性があります。
また、これらのオプションは本質的に他のオプションより優れていることはありません。彼らは単に異なるアプローチを取ります。システムバージョンを使用することは、Pythonアプリケーションをインストールする優れた方法ですが、Pythonで開発するのは非常に難しい方法です。簡単なインストールとsetuptoolsは、virtualenvのない世界では非常に便利ですが、同じライブラリの異なるバージョンを使用する必要がある場合は、かなり扱いにくくなります。 Pipとvirtualenvは、実際には仮想マシンのように機能します。並べてインストールするように注意する代わりに、まったく新しい環境を作成します。ここでの欠点は、後で30以上のvirtualenvを使用すると、かなりのディスクスペースを使い果たしてファイルシステムが乱雑になる可能性があることです。
ご覧のとおり、多くのオプションがあるため、どの方法を使用するかを言うのは困難ですが、ユースケースを少し調べれば、機能する方法を見つけることができるはずです。
望ましい方法はありません-すべてがニーズに依存します。多くの場合、何らかの理由でシステム上に異なるPythonインタープリターが必要です。この場合、各インタープリターごとに個別にインストールする必要があります。それとは別に、事前にパッケージ化されたものに依存して問題を引き起こすことがあるのではなく、自分でインストールすることを好みます。
ディストリビューションパッケージから開始して、次のいずれかを使用できます。
Sudo apt-get install python-virtualenv
virtualenvを作成できます。または
Sudo apt-get install python{,3}-pip
これにより、任意のパッケージをホームディレクトリにインストールできます。
Virtualenvに慣れている場合、最初のコマンドは必要なものすべてを提供します(pipはバンドルされており、作成したvirtualenvにインストールされます)。
パッケージをインストールするだけの場合は、2番目のコマンドで必要なものが表示されます。次のようなpipを使用します。
pip install --user something
のようなものを置きます
PATH=~/.local/bin:$PATH
~/.bashrc
で。
ディストリビューションが古く、そのパッケージをまったく使用したくない場合(Python自体を除く)、virtualenvをtarballまたはスタンドアロンスクリプトとしてダウンロードできます。
wget -O ~/bin/virtualenv https://raw.github.com/pypa/virtualenv/master/virtualenv.py
chmod +x ~/bin/virtualenv
あなたのディストリビューションが最先端のエッジである場合、Python3.3にはvirtualenvのような機能が組み込まれています:
python3 -m venv ./venv
これはずっと速く実行されますが、setuptoolsとpipは含まれていません。
@ericholscherはTwitterで、「公式ドキュメントの1つ」と述べています。
それは素晴らしい点です、あなたはドキュメントが言うことをするべきです。
http://www.pip-installer.org/en/latest/installing.html の公式pipインストール手順から引用
$ curl -O https://github.com/pypa/virtualenv/raw/master/virtualenv.py
$ python virtualenv.py my_new_env
$ . my_new_env/bin/activate
(my_new_env)$ pip install ...
Virtualenvにはデフォルトでpipが含まれているため、pipをグローバルにインストールすることはほとんどありません。私がやることは最終的には次のようになります:
$ Sudo apt-get install python-setuptools
$ curl -O http://python-distribute.org/distribute_setup.py
$ Sudo python distribute_setup.py
$ Sudo easy_install virtualenv
その後、virtualenvwrapperをインストールして好みに合わせてセットアップし、すぐに使用を開始します。 Jeremy Avnetのvirtualenv-burritoを見てみる価値もあります。
Mac(osx)にpipをインストールするために、次の1つのライナーがうまく機能しました。
Sudo easy_install pip
Raspbianでは、python2.7
に言及する必要さえありません。確かに、これは2.7.9未満のpythonバージョンの場合にpipをインストールする最良の方法です。
curl --silent --show-error --retry 5 https://bootstrap.pypa.io/get-pip.py | Sudo python
@ tal-weissに感謝
Get-pipとvirtualenv-burritoを使用して、これらすべてをインストールします。 python-setuptoolsが必要かどうかわかりません。
# might be optional. I install as part of my standard ubuntu setup script
Sudo apt-get -y install python-setuptools
# install pip (using get-pip.py from pip contrib)
curl -O https://raw.github.com/pypa/pip/develop/contrib/get-pip.py && Sudo python get-pip.py
# one-line virtualenv and virtualenvwrapper using virtualenv-burrito
curl -s https://raw.github.com/brainsik/virtualenv-burrito/master/virtualenv-burrito.sh | bash
Debianでの最善の方法は
Sudo apt-get install python-pip
前者の方法は問題ありません。私が見ることができる唯一の問題は、古いバージョンのsetuptoolsで終わる可能性があることです(aptリポジトリが最新に保たれていない場合。).