UbuntuLinuxサーバーにボトルをインストールしました
sudo pip install bottle
そしてそれはにインストールされます:/usr/local/lib/python2.7/dist-packages
しかし、Python 3.2もシステムにインストールしていて、Python3.2からボトルにアクセスしたいと思います。Python 3.2は、ボトルがインストールされていることを認識していないようです。
私は何が間違っているのですか?
Python 3.2用に個別にインストールする必要があります(例を使用sudo pip-3.2 install bottle
)。
現在、python2.7/dist-packages
にあります。つまり、2.7のみがロードされます。これをPYTHONPATHなどに追加することもできますが、ソースファイルの互換性が低いため、Python2と3の間で機能することはめったにありません。(ボトルにはそれらのいずれもありませんが、C拡張機能も確かに機能しません。)
残念ながら、そのコマンドは機能しますが、pypiのbottleのバージョンは、pip-3.2を介してインストールした場合でもPython3と互換性がないようです。
In [1]: import bottle
File "/Library/Frameworks/Python.framework/Versions/3.2/bin/bottle.py", line 373
except re.error, e:
^
SyntaxError: invalid syntax
ホームページには3.xで動作すると記載されていますが、pipとeasy_installの両方でインストールするとエラーが発生しました。ただし、ホームページからリンクされた単一のファイルである最新の開発バージョンは機能しているようです。
自分で答えます。pipの最新リリースバージョンにはpip-3.2が含まれていないことが判明しました。開発バージョンをダウンロードして、pip-3.2を含むそれを使用する必要があります。
あなたは何も悪いことをしていません。Pip はデフォルトで /usr/bin/python を使用し、そこにのみインストールします。virtualenv-s をセットアップしたくない場合は、おそらく現在の pip を pip3.2 にコピーし、それを編集して python 3.2 を呼び出すのが最適です。
sudo -s -H
p=$(which pip)
cat $p | sed "1s|/usr/bin/python|$(which python3.2)|" > $p"3.2"
chmod 755 $p"3.2"
exit
これで、pip3.2
ボトルをインストールする ができたので、python3.2 で使用できます。pkg_resources が見つからないという pip3.2 の実行中にエラーが発生した場合は、No module named pkg_resourcesを参照してください。
オフサイトから手動でダウンロードするだけです。1つのファイルです。それを lib/site-packages フォルダーに配置し、ファイルに適切な権限を与えます。