pip3
システムサイトパッケージに物をインストールしないように強くお勧めします。以前にこれらの引数を作成しましたが、メモを提供します。
- システム更新によりすべてが壊れる
- aptパッケージをインストールすると、pipでインストールされたものが上書きされる可能性があります
- バージョンの競合
- ディストリビューションのアップグレードは予測できない混乱です。真剣に。私はこれらに髪を失った
を使用することを強く推奨しvirtualenv
ます。どこへ行くにも大きな苦痛ですが、一度設定すれば、完全に制御できる完全なPython環境ができます。これは、より多くの作業を意味します(更新を確認する必要がpip
あり、まだ実際には役立ちません)が、Ubuntuの動作について心配する必要はありません。
各サイトごとに環境があります(というサブディレクトリに座っていvenv
ます)。かつて私を含め、一部の人々は、複数のサイト間で環境を共有することを好みます。更新を発行するという点では、これを維持するのが簡単であることがわかりましたが、一部のサイトは脆弱であるか、古いバージョンを必要とし、環境全体を保持しています。YMMV。
これをインストールするという点で、そして私をただ平手打ちするvirtualenv
ために、Python 3用にはまだパッケージ化されていないので、使用する必要がありますpip3
:
$ sudo pip3 install virtualenv
...
$ virtualenv-3.3 myenv
Using base prefix '/usr'
New python executable in myenv/bin/python3
Also creating executable in myenv/bin/python
Installing setuptools, pip...done.
$ source myenv/bin/activate # This is important!
これで、bash PS1が事前に準備(myenv)
され、別の環境にいることがわかります。環境をテストして、適切なバージョンのものであることを確認できます(スターターにシステムバージョンを使用していません):
$ python --version
Python 3.3.2+
$ which python pip
/home/oli/Desktop/myenv/bin/python
/home/oli/Desktop/myenv/bin/pip
そして、あなたはまるであなたが宇宙のマスターであるかのように続けることができます。pip
もうrootを使用する必要はなく、を指定する必要もありませんpip3
。ずっとフレンドリーです。
$ pip install django umemcache
...
これuwsgi
をホストするようなものを使用している場合(その必要がある)-Hフラグ(またはhome config引数)を使用して、Python環境がどこにあるかを伝えます。
開発を容易にするために、virtualenv
環境を自動的に「マウント」できます。そこには多くのスクリプトがありますが、これは私のものです(これは私の一番下にあります~/.bashrc
:
export VENVDIR="/web"
export VENVDIR_VENV="$VENVDIR/venv"
venvcd() {
wd=$(pwd)
[[ $wd == $VENVDIR/* || $wd == $VENVDIR ]] && wasin=true || unset wasin
builtin cd "$@"
wd=$(pwd)
if [[ $wd == $VENVDIR/* || $wd == $VENVDIR ]]; then
source $VENVDIR_VENV/bin/activate
else
[ $wasin ] && deactivate
fi
}
alias cd="venvcd"
cd .
私はたびcd
に/web
(すべての私の開発のウェブサイトが保存されている場合)、それは私のためにvirtualenvのをマウントします。私はすべてのサイトに対して1つの環境しか持っていないので、似たようなことをした場合にのみ適していることに注意してください。同様のことを行う他の多くの方法があります。