我已經安裝了瓶使用我已經安裝了Bottle for Python 2.7,但是如何從Python 3.2訪問ir?
sudo pip install bottle
我的Ubuntu Linux操作系統的服務器上,並將其安裝到:/usr/local/lib/python2.7/dist-packages
但我也有Python的3.2我的系統上安裝,我想在Python 3.2訪問瓶。 Python 3.2似乎無法識別該瓶已安裝。
我在做什麼錯?
我已經安裝了瓶使用我已經安裝了Bottle for Python 2.7,但是如何從Python 3.2訪問ir?
sudo pip install bottle
我的Ubuntu Linux操作系統的服務器上,並將其安裝到:/usr/local/lib/python2.7/dist-packages
但我也有Python的3.2我的系統上安裝,我想在Python 3.2訪問瓶。 Python 3.2似乎無法識別該瓶已安裝。
我在做什麼錯?
我會自己回答。原來pip的最新版本不包含pip-3.2。您需要下載開發版本並使用它,其中包括pip-3.2。
您必須單獨安裝Python 3.2(例如sudo pip-3.2 install bottle
)。
它目前在python2.7/dist-packages
,這意味着只有2.7會加載它。您可以嘗試將其添加到您的PYTHONPATH或類似文件中,但這在Python 2和Python 3之間很少有效,因爲源文件不兼容。 (任何C擴展也肯定不會起作用,儘管瓶子沒有這些)。
不幸的是,雖然該命令起作用,但它看起來像pypi中的bottle版本不是Python 3兼容的通過PIP-3.2安裝即便:
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的homepage claims。儘管如此,最新的開發版本,只是a single file linked from the homepage,似乎工作。
你沒有做錯什麼。 Pip默認使用/ usr/bin/python,並且只在那裏安裝。 除非你想設置的virtualenv-S,你可能是最好的複印件當前畫中畫pip3.2和編輯調用蟒蛇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能用它。如果你運行pip3.2時出現錯誤,提示找不到pkg_resources請看No module named pkg_resources
只需從異地手動下載。這只是一個文件。 將它放到lib/site-packages文件夾中並賦予文件適當的權限。
從哪裏可以得到pip-3.2? –
@DukeDougal:與此同時,將'bottle.py'文件(它的開發版本)放到你的應用程序目錄中應該可以。當他決定將庫分發到單個文件中時,Bottle的作者就有這種部署方式。 – Helgi
@Helgi謝謝,這是我現在正在做的。我仍然感到困惑 - 在這裏回答的兩個人說我應該使用pip-3.2,但我無法看到任何pip-3.2下載,也沒有任何地方提及它。 –