2015-01-15 48 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

相关问题