我安装了Python 3。x(除了Python 2。然后慢慢开始配对我在Python 2.x中使用的模块。
所以我想知道,我应该采取什么方法来使我的生活更容易,通过对Python 2使用pip。Python 3.x?
我安装了Python 3。x(除了Python 2。然后慢慢开始配对我在Python 2.x中使用的模块。
所以我想知道,我应该采取什么方法来使我的生活更容易,通过对Python 2使用pip。Python 3.x?
当前回答
在一般情况下,您需要找出Python 2和Python 3解释器的精确位置。在Windows上,whereis命令将显示程序安装的位置;在Unix和相关平台上,尝试输入或命令-v(不要使用流行但非标准的工具whereis or which,除非你知道你可以信任它们)。
Windows的例子:
C:\loser> whereis python
C:\Python37\Python.exe
Linux的例子:
bash$ type python
python is /usr/local/bin/python
例如,你可能在/usr/local/bin/python3中有python3,在/usr/bin/ Python中有python2
(这绝不是普遍现象;在哪里以及如何安装不同的Python版本可能差别很大。你可以在/opt/anaconda/forest/trees/shirley目录下设置Python。也可以在/opt和你的主目录下查看,或者使用你的操作系统的搜索工具来查看在哪里。)
通常,如果你找到一个Python二进制文件,/path/to/this/ Python——version会打印它的版本号。
一旦您知道了这一点,使用您想要使用的版本的完整路径将始终得到您想要的版本,以及安装包的位置的特定配置。
在这个例子中,
/usr/local/bin/python3 -m pip install requests
将安装Python 3的请求,以及
/usr/bin/python -m pip install requests
Python 2。但是,这些只是例子;您需要知道特定系统的正确路径。
在Windows(以及现在的其他平台)上,有一个名为py的包装器,它允许您通过一个选项方便地指定您想要运行的Python版本。py -2运行Python 2(当然,前提是你已经安装了它),你可能猜到如何获得Python 3。
顺便说一下;在Debian和衍生的Linux发行版上,包括Ubuntu, Mint等,当你安装python3(或python等)时,pip不一定安装;您需要单独安装python3-pip(或python-pip等)。
For convenience, you might want to explore using virtual environments to control your Python environment. With Python 3, you want /path/to/your/python -m venv envname to create envname which, when activated, will always run that particular Python version when you simply run python, and the correct corresponding pip when you type that command. (Again, on Debian-based distros, you will separately need to install python3-venv.) With Python 2, you need to separately install the third-party module virtualenv. (There are other tools with similar facilities but slightly different features; but these are de facto standard, pretty much.)
如果只有两个版本,您希望继续并行使用,您可以创建一个包装器或别名,这样您就不必每次都键入完整的路径。例如,如果$HOME/bin在您的PATH上,您可以创建一个包含内容的文件$HOME/bin/py3
#!/bin/sh
exec /path/to/python3 "$@"
chmod +x这个文件可以只输入py3。(Windows上类似包装器的语法会有所不同;在CMD中,你想要%*而不是“$@”,没有exec或#!/bin/sh shebang,前面可能还有一个@。Windows上没有chmod,但文件需要扩展名为.cmd。)
当然,如果您想使用的版本已经有不同的名称,您只需要确保它们的目录在您的PATH上,并确保没有其他具有相同名称的程序在您的PATH上较早的目录中。
如果您希望能够并行使用多个Python版本(例如,您正在处理的每个项目都有一个特定的版本),可以使用像pyenv这样的第三方工具来维护多个并行Python安装,并轻松地在它们之间进行选择。但这只是为了方便;如果你知道你在做什么,你总是可以用这个答案中的指令运行一个特定的Python版本。
其他回答
这对我来说在OS X上是有效的:(我这么说是因为有时mac对每个开源工具都有“自己的”版本,你不能删除它,因为“它的改进”使它成为其他苹果东西工作的独特之处,如果你删除它,东西就会开始崩溃)
我遵循了@Lennart Regebro提供的步骤来获得python 3的pip,然而python 2的pip仍然是路径上的第一个,所以…我所做的是在/usr/bin中创建一个到python3的符号链接(实际上我做了同样的事情来让我的2个python和平运行):
ln -s /Library/Frameworks/Python.framework/Versions/3.4/bin/pip /usr/bin/pip3
注意,我在最后加了一个3,所以基本上你要做的就是用pip3而不是。
这个帖子很旧了,但我希望有一天能帮助到别人。理论上,这应该适用于任何LINUX系统。
首先,使用以下命令安装Python 3 pip:
sudo apt-get install python3-pip
然后,使用Python 3的pip使用:
pip3 install <module-name>
对于Python 2 pip使用:
pip install <module-name>
最短的方法:
python3 -m pip install package
python -m pip install package
在Suse Linux 13.2上,pip调用python3,但是pip2可以使用旧的python版本。
你还可以使用apt-get:
apt-get install python3-pip
根据我的经验,这也非常流畅,而且您可以从apt-get中获得所有好处。