247

短い質問

バックグラウンド

SO question 4314376に対する私の回答では、次のようにインストールできるように使用することをお勧めしました。ez_setuppipvirtualenv

curl -O http://peak.telecommunity.com/dist/ez_setup.py
sudo python ez_setup.py
sudo easy_install pip
sudo pip install virtualenv

私はもともと、これらの手順を Jesse Noller のブログ投稿から引用しました。 Mac で Python を使いたいですか? . グローバルな site-packages ディレクトリをきれいに保つというアイデアが気に入っているので、そこにインストールする他のパッケージは virtualenvwrapperdistribute. (私は最近、この Python 公共サービス発表distributeのためにツールボックスに追加しました。これら 2 つのパッケージをインストールするには、以下を使用しました。

sudo pip install virtualenvwrapper
curl -O http://python-distribute.org/distribute_setup.py
sudo python distribute_setup.py

setuptools と easy_install はもう必要ありません

Python の公共サービスの発表を実際にフォローするには、Python の新規インストールで次のようにします。

curl -O http://python-distribute.org/distribute_setup.py
sudo python distribute_setup.py
sudo easy_install pip
sudo pip install virtualenv
sudo pip install virtualenvwrapper

グリフの叱責

SO question 4314376に対する私の回答へのコメントで、SO ユーザーGlyphは次のように述べています。

番号。絶対にsudo python setup.py install何もしないでください。~/.pydistutils.cfg を作成して、pip インストールを ~/.local などに配置します。特に名前が付けられたファイルez_setup.pyは、setuptools や easy_install などの新しいバージョンを吸い込む傾向があり、オペレーティング システムの他の機能を壊す可能性があります。

短い質問に戻る

したがって、Glyph の応答は、私の最初の質問につながります。

4

15 に答える 15

173

Python自体に何もインストールせずにこれを行うことができます。

sudoや特権は必要ありません。

ファイルを編集する必要はありません。

virtualenvをブートストラップ仮想環境にインストールします。その仮想環境を使用して、さらに作成します。virtualenvにはpipとdistributeが付属しているため、1回のインストールですべてを取得できます。

  1. virtualenvをダウンロードします。
  2. ソースtarballを解凍します
  3. 解凍したtarballを使用して、クリーンな仮想環境を作成します。この仮想環境は、他の人を「ブートストラップ」するために使用されます。すべての仮想環境には、自動的にpipとdistributeが含まれます。
  4. pipを使用して、virtualenvをそのブートストラップ環境にインストールします。
  5. そのブートストラップ環境を使用して、さらに作成してください!

これがbashの例です:

# Select current version of virtualenv:
VERSION=12.0.7
# Name your first "bootstrap" environment:
INITIAL_ENV=bootstrap
# Set to whatever python interpreter you want for your first environment:
PYTHON=$(which python)
URL_BASE=https://pypi.python.org/packages/source/v/virtualenv

# --- Real work starts here ---
curl -O $URL_BASE/virtualenv-$VERSION.tar.gz
tar xzf virtualenv-$VERSION.tar.gz
# Create the first "bootstrap" environment.
$PYTHON virtualenv-$VERSION/virtualenv.py $INITIAL_ENV
# Don't need this anymore.
rm -rf virtualenv-$VERSION
# Install virtualenv into the environment.
$INITIAL_ENV/bin/pip install virtualenv-$VERSION.tar.gz

これで、「ブートストラップ」環境を使用して、さらに次のものを作成できます。

# Create a second environment from the first:
$INITIAL_ENV/bin/virtualenv py-env1
# Create more:
$INITIAL_ENV/bin/virtualenv py-env2

怒る!

ノート

これは、実際に古いバージョンのvirtualenvを使用していないことを前提としています。古いバージョンにはフラグが必要でした--no-site-packges(Pythonのバージョンによっては--distribute)。python virtualenv.py path-to-bootstrapこれで、またはを使用してブートストラップ環境を作成できますpython3 virtualenv.py path-to-bootstrap

于 2011-03-03T05:30:49.120 に答える
20

Glyph は次のようなことを意味すると思います。

  1. ディレクトリ~/.localが存在しない場合は作成します。
  2. で、 が on であり、それがonである~/.bashrcことを確認します。~/.local/binPATH~/.localPYTHONPATH
  3. ~/.pydistutils.cfgを含むファイルを作成します。

    [install]
    prefix=~/.local
    

    これは、標準の ConfigParser 形式のファイルです。

  4. ダウンロード distribute_setup.pyして実行しますpython distribute_setup.py(いいえsudo)。site-packagesディレクトリが存在しないというエラーが表示される場合は、手動で作成します。

    mkdir -p ~/.local/lib/python2.7/site-packages/

  5. 実行which easy_installして、それが送信元であることを確認します~/.local/bin

  6. 走るpip install virtualenv
  7. 走るpip install virtualenvwrapper
  8. フォルダーを含む仮想環境を作成します。~/.virtualenvs
  9. さらに~/.bashrc_

    export WORKON_HOME
    source ~/.local/bin/virtualenvwrapper.sh
    

以上で、 はまったく使用sudoされず、Python 環境は にあり~/.local、OS の Python とは完全に分離されています。免責事項:virtualenvwrapperこのシナリオでの互換性は不明です - 私のシステムではテストできませんでした :-)

于 2010-12-01T13:55:07.840 に答える
16

この回答にリンクされているいくつかのチュートリアルでアドバイスされている手順に従うと、Walker と Vinay の回答のやや複雑な「手動」手順を実行しなくても、目的の効果を得ることができます。Ubuntu を使用している場合:

sudo apt-get install python-pip python-dev

OS X では、homebrew を使用して python をインストールすることで同等のことが実現されます (詳細はこちら)。

brew install python

インストールするとpip、それを使用して残りのパッケージを取得できます (sudoローカルの python インストールを使用しているため、OS X では省略できます)。

sudo pip install virtualenvwrapper

(これらは、グローバルにインストールする必要がある唯一のパッケージであり、OS のシステムレベルのものと衝突することはないと思います。超安全にしたい場合は、ディストリビューションのバージョンを保持できますsudo apt-get install virtualenvwrapper)

注: Ubuntu 14.04 では、 pip installでいくつかのエラーが発生するため、使用してファイルpip3 install virtualenv virtualenvwrapperに追加します。VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3.bashrc/.zshrc

.bashrc次に、ファイルに追加します

export WORKON_HOME
source /usr/local/bin/virtualenvwrapper.sh

そしてソース

. ~/.bashrc

基本的にはこれです。唯一の決定は、システムレベルのパッケージを含めるために virtualenv を作成するかどうかです

mkvirtualenv --system-site-packages foo

既存のシステム パッケージを再インストールする必要がない場合、それらはシステム インタープリターのバージョンにシンボリック リンクされます。注: sudo を使用せずに新しいパッケージをインストールし、既存のシステムに含まれるパッケージをアップグレードすることは引き続き可能です。テストしたところ、システム インタープリターを中断することなく動作します。

kermit@hocus-pocus:~$ sudo apt-get install python-pandas
kermit@hocus-pocus:~$ mkvirtualenv --system-site-packages s
(s)kermit@hocus-pocus:~$ pip install --upgrade pandas
(s)kermit@hocus-pocus:~$ python -c "import pandas; print(pandas.__version__)"
0.10.1
(s)kermit@hocus-pocus:~$ deactivate
kermit@hocus-pocus:~$ python -c "import pandas; print(pandas.__version__)"
0.8.0

別の方法として、完全に分離された環境が必要な場合は、

mkvirtualenv --no-site-packages bar

または、これがデフォルトのオプションであるとすれば、単純に

mkvirtualenv bar

その結果、お気に入りのパッケージを自由に sudoless でインストールできる新しい virtualenv が作成されます。

pip install flask
于 2013-02-05T22:56:02.553 に答える
10

Ubuntu の場合:

sudo apt-get install python-virtualenv

パッケージpython-pipは依存関係であるため、同様にインストールされます。

于 2013-06-27T09:11:03.410 に答える
5

職場で使用するためにこの手順を作成しました。

cd ~
curl -s https://pypi.python.org/packages/source/p/pip/pip-1.3.1.tar.gz | tar xvz
cd pip-1.3.1
python setup.py install --user
cd ~
rm -rf pip-1.3.1

$HOME/.local/bin/pip install --user --upgrade pip distribute virtualenvwrapper

# Might want these three in your .bashrc
export PATH=$PATH:$HOME/.local/bin
export VIRTUALENVWRAPPER_VIRTUALENV_ARGS="--distribute"
source $HOME/.local/bin/virtualenvwrapper.sh

mkvirtualenv mypy
workon mypy
pip install --upgrade distribute
pip install pudb # Or whatever other nice package you might want.

セキュリティ志向のキーポイント:

  1. curl は SSL 検証を行います。wget はしません。
  2. pip 1.3.1 から、pip は ssl 検証も行います。
  3. github tarball よりも pypi tarball をアップロードできるユーザーが少なくなります。
于 2013-04-24T22:15:18.873 に答える
3

ActivePython をインストールします。これには、pip、virtualenv、および Distribute が含まれます。

于 2011-03-21T19:31:56.697 に答える
3

sudo python setup.py install を実行しても問題ありません。それがやりたいことだと確信している場合です。

違いは、OS の site-packages ディレクトリを .py ファイルのコピー先として使用することです。

そのため、ピップをOS全体でアクセスできるようにしたい場合は、おそらくそれが最善の方法です。他の方法が悪いとは言いませんが、おそらくこれで十分です。

于 2010-12-01T19:10:39.257 に答える
2

最近同じ問題に遭遇しました。私は「常にvirtualenvを使用する」という考え方にますます偏っているため、グローバルまたはユーザーのサイトパッケージディレクトリに配布をインストールせずに、pipでvirtualenvをインストールすることが問題でした。これを行うために、distribute、pip、virtualenv を手動でダウンロードし、それぞれに対して「python setup.py install --prefix ~/.local/python-private」を実行しました (PYTHONPATH=~/.local/ の一時設定を使用)。 python-private) セットアップ スクリプトが配布を見つけることができるように)。virtualenv スクリプトを PATH 上の別のディレクトリに移動し、それを編集して、distribute および virtualenv モジュールが sys.path で見つかるようにしました。多田: /usr、/usr/local、またはユーザーのサイト パッケージ ディレクトリには何もインストールしていませんが、どこでも virtualenv を実行でき、その virtualenv で pip を取得できます。

于 2011-10-10T15:16:33.160 に答える
1

幸いなことに、python3.4 をインストールした場合、pyvenv は既にインストールされています。これだけ

pyvenv project_dir
source project_dir/bin/activate
python --version   
python 3.4.*

この仮想環境では、pip を使用してこのプロジェクトのモジュールをインストールできます。

この仮想環境をそのままにして、ただ

deactivate
于 2015-06-26T04:34:37.213 に答える
0

これは virtualenvwrapper をインストールする良い方法です (これの更新)。

virtualenv-1.11.4をダウンロードし (最新版はこちらから入手できます)、解凍して開きますterminal

# Create a bootstrapenv and activate it:
$ cd ~
$ python <path to unzipped folder>/virtualenv.py bootstrapenv
$ source bootstrapenv/bin/activate

# Install virtualenvwrapper:
$ pip install virtualenvwrapper
$ mkdir -p ~/bootstrapenv/Envs

# append it to file `.bashrc`
$ vi ~/.bashrc
  source ~/bootstrapenv/bin/activate
  export WORKON_HOME=~/bootstrapenv/Envs
  source ~/bootstrapenv/bin/virtualenvwrapper.sh

# run it now.
$ source ~/.bashrc

mkvirtualenv env1これで、 、lsvirtualenv..などを使用できるようになりました

注:ダウンロード フォルダからvirtualenv-1.11.4削除することができます。virtualenv-1.11.4.zip

于 2014-04-03T05:24:59.923 に答える