2015-01-15 84 views
1

我現在使用python 2.7現在添加了python 3.4。在pip3中安裝與pip相同的軟件包

我如何輕鬆地將通過pip安裝的軟件包遷移到pip3?

未來的後續:有沒有辦法將軟件包安裝到2.7和3.4版本的Python?

編輯1:合併答案。 編輯2:將解決方案移至答案。

+0

全球?在同一個virtualenv? Python2和Python3都兼容嗎?你有沒有看過簡單的'pip freeze> packages.txt',接着是'pip3 install -r packages.txt'? – 2015-01-15 18:17:46

+0

謝謝,刪除過時的包裝後工作正常。事實上,所有100多年的工作期望memche已被重新命名爲memche3 :) – Califlower 2015-01-16 20:43:04

+0

僅供參考您可以回答自己的問題並接受您自己的答案。我個人認爲,對於從谷歌來到這裏的人來說,你所做的一切都很好,但前者可能更合適,至少在未來。 – 2015-01-17 22:46:31

回答

1

移至雙位煉金術士建議的答案。

首先更新所有的包

pip freeze --local | grep -v '^\-e' | cut -d = -f 1 | xargs pip install -U 

然後我 「重新安裝」 到Python 3

brew install pip3 
cd /usr/local/bin 
ln -sfnv ../Cellar/python3/3.4.2_1/bin/python3 python 
unset PYTHONPATH 
eval 'export PYTHONPATH=/usr/local/lib/python3.4/site-packages' 

,然後重新安裝到Python 3

pip freeze --local | grep -v '^\-e' | cut -d = -f 1 | xargs pip3 install 

我裝這一切在一bash功能,現在它全部自動化,以便將來使用!感謝你們!

1

pip是一個爲x和y的某些值安裝適當版本的python軟件包(使用其元數據)到pythonx.y/lib/site-packages的程序。在* nix上,默認的x.y是python2的最新版本。 pip3是一個別名,它將默認值更改爲最新版本的python3。

pip -h 

列出了pip命令和常規選項。

pip command -h 

列出的選項command,如install

從字面上看,遷移到「pip3」沒有意義。當然,獲得安裝的相同的軟件包爲3.4,你已經安裝了2.7。 Two-Bit Alchemist給出的方法應該適用於與3.x兼容的每個包,但我相信需求文件是用於將pythonx.y安裝複製到另一個pythonx.y安裝(可能在虛擬環境中)。它將安裝即使已經過時,你已經有了,該包的同X.Y.Z版本,所以你可能要與

pip install -U <package> 

每個包先更新2.7集合。

+0

你說的是真的 - 'pip freeze'輸出硬編碼版本號。 – 2015-01-15 23:03:29

+0

運行pip install -U是個好主意! – Califlower 2015-01-16 20:51:50

相關問題