在pip3中安装与pip相同的包

时间:2015-01-15 18:15:59

标签: python-2.7 python-3.x pip

我正在使用python 2.7现在添加了python 3.4。

如何轻松地将通过pip安装的软件包迁移到pip3?

未来的后续:有没有办法将软件包安装到2.7和3.4版本的python上?

编辑1:合并答案。 编辑2:将解决方案移至答案

2 个答案:

答案 0 :(得分:1)

pip是一个程序,它将python包的适当版本(使用其元数据)安装到pythonx.y / lib / site-packages以获取某些x和y值。在* nix上,默认的x.y是python2的最新版本。 pip3是一个别名,它将默认值更改为最新版本的python3。

pip -h 

列出了pip命令和一般选项。

pip command -h

列出command的选项,例如install

从字面上看,迁移到pip3'没有意义。当然,获得为2.7安装的相同软件包。 Two-Bit Alchemist给出的方法应该适用于与3.x兼容的每个包,但我相信需求文件用于将pythonx.y安装复制到另一个pythonx.y安装(可能在虚拟环境中)。它将安装您已经拥有的相同x.y.z版本的软件包,即使已过时,因此您可能希望首先使用

更新2.7集合。
pip install -U <package>

每个包裹。

答案 1 :(得分:1)

按照Two-Bit Alchemist的建议移动到答案。

首先更新了所有包

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

然后我&#34;重新安装&#34;到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函数,现在它全部自动化,以便日后使用!谢谢你们!