Python版本问题

同时装了Python3和Python2,怎么用pip?

Ubuntu13.04, 系统内同时装了Python3.3 和 2.7
用sudo apt-get install python-pip
sudo apt-get install python3-pip
分别装了两个版本对应的pip

但是现在运行pip install 只能给2.7版安装库(好像是因为重名只能调用python-pip),怎么样设置才能给3.3版安装呢?

想学习Python3,但是暂时又离不开Python2。在Windows上如何让它们共存呢?目前国内网站经常会让大家把其中一个python.exe改个名字(嗯,我也这样讲过,在此纠正一下),这样区分开两个可执行文件的名字,但是这样做有一个重大的隐患,就是修改了名字的那个python对应的pip将无法使用。官方的解法是什么?事实上这个问题几年以前Python社区就给出了官方解决方案,只不过国内一直没有注意到罢了。我们在安装Python3(>=3.3)时,Python的安装包实际上在系统中安装了一个启动器py.exe,默认放置在文件夹C:\Windows\下面。这个启动器允许我们指定使用Python2还是Python3来运行代码(当然前提是你已经成功安装了Python2和Python3)。

有关Python2和3的安装,可以参见Python部落(http://python.freelycode.com)–>影音学堂–>《0基础1小时,Python入门》的第一节。

如果你有一个Python文件叫 hello.py,那么你可以这样用Python2运行它
py -2 hello.py
类似的,如果你想用Python3运行它,就这样
py -3 hello.py

去掉参数 -2/-3

每次运行都要加入参数-2/-3还是比较麻烦,所以py.exe这个启动器允许你在代码中加入说明,表明这个文件应该是由python2解释运行,还是由python3解释运行。说明的方法是在代码文件的最开始加入一行

#! python2

或者

#! python3

分别表示该代码文件使用Python2或者Python3解释运行。这样,运行的时候你的命令就可以简化为

py hello.py

使用pip

当Python2和Python3同时存在于windows上时,它们对应的pip都叫pip.exe,所以不能够直接使用 pip install 命令来安装软件包。而是要使用启动器py.exe来指定pip的版本。命令如下:

py -2 -m pip install XXXX

-2 还是表示使用 Python2,-m pip 表示运行 pip 模块,也就是运行pip命令了。如果是为Python3安装软件,那么命令类似的变成

py -3 -m pip install XXXX

#! python2 和 # coding: utf-8 哪个写在前面?

对于Python2用户还有另外一个困惑,Python2要在代码文件顶部增加一行说明,才能够在代码中使用中文。如果指明使用的Python版本也需要在文件顶部增加一行,那哪一行应该放在第一行呢?

#! python2 需要放在第一行,编码说明可以放在第二行。所以文件开头应该类似于:
#! python2
# coding: utf-8
有了这些技巧,Python2和Python3就可以愉快地在一起玩耍了~

作者:Johnny Wong
链接:https://www.zhihu.com/question/21653286/answer/96834584
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

对于 Linux

sudo pip install sth

或者明确版本

sudo pip2 install sth
sudo pip3 install sth
sudo python2 -m pip install sth
sudo /path/to/python -m pip install sth

对于 Windows NT

如果仅安装 python2

pip install sth

如果安装有 python3, 则需要明确 pip 版本

py -2 -m pip install sth
py -3 -m pip install sth
== update, 针对 Linux ==
在 pip, pip2, 或者 pip3 install 失败时,可以尝试如下操作:# 以安装 youtube-dl 举例

proxy_host:proxy_port 为代理地址

export https_proxy=proxy_host:proxy_port
sudo -H pip install –upgrade youtube-dl

或 sudo -H pip2 install –upgrade youtube-dl

或 sudo -H pip3 install –upgrade youtube-dl

或 sudo -H python3.5 -m pip install youtube-dl

将上面的命令改写为脚本,有哪些好用的bash 技巧(包括不限于快捷键、自用小脚本)?function whereip()
{
argument= 1:wherecase 1 : − “ w h e r e ” c a s e argument in
where|ip|whereip|show)
curl –silent http://ip.cn 2>&1;;
proxy|world|global)
export HTTPS_PROXY=http://127.0.0.1:8087
export HTTP_PROXY=http://127.0.0.1:8087
export ALL_PROXY=http://127.0.0.1:8087
echo “Setup Proxy Completed.”
;;
noproxy|unproxy|local|china)
unset HTTPS_PROXY
unset HTTP_PROXY
unset ALL_PROXY
echo “Cancel Proxy Completed.”
;;
*)
echo “whereip show|proxy|noproxy”;;
esac
}
写入 bashrc 或 zshrc,配以代理 8087 (根据实际情况,你可能需要将其修改为正确的地址)在你 pip 遇到困难的途中,也许这条信息可以给你帮助!

mac自带py2.7,自己安装了pip

这里写图片描述

安装了python3.4, 已包含pip

这里写图片描述

更新pip

Python版本问题_第1张图片

实测安装第三方包

Python版本问题_第2张图片

Python版本问题_第3张图片

看一下site-packages

Python版本问题_第4张图片

你可能感兴趣的:(Python)