如何在Ubuntu 18上为python 3.7安装pip?


92

编辑18/02:由于我仍然没有解决方案,因此我将用到目前为止所知道的进行更新。

我已经成功安装了python 3.7。我可以使用pip(或pip3)安装模块,但这些模块已安装在Python 3.6中(随ubuntu一起提供)。因此,我无法在python 3.7中导入这些模块(找不到模块)Python 3.7无法识别pip / pip3,因此无法通过pip / pip3安装,我需要python 3.7

-

我已经在Ubuntu 18.04计算机上安装了Python 3.7。如果相关,请遵循以下说明:

下载:从Python网站[1]上的Python 3.7,在桌面上并手动解压缩,在桌面上安装:打开终端(ctrl + shift + T)

Go to the Extracted folder
$ cd ~/Desktop/Python-3.7.0
$ ./configure
$ make
$ sudo make install

将Python 3.7设为默认Python:

$ sudo vim ~/.bashrc
press i
on the last and new line - Type
alias python= python3.7
press Esc
type - to save and exit vim
:wq
now type
$ source ~/.bashrc

从这里:https : //www.quora.com/How-can-I-upgrade-Python-3-6-to-3-7-in-Ubuntu-18-04

我已经下载了几个模块,pip install module但是当我尝试导入它们时,我得到了一个ModuleNotFoundError: No module names 'xx'

因此,我进行了一些研究,显然是在使用pip进行安装时,将其安装在Python早期版本的模块中。我在某个地方(可能是SO中的一个问题)找到了使用来安装模块的建议,python3.7 -m pip install module但随后得到了/usr/local/bin/python3.7: no module named pip

现在,我被卡住了,安装了pip,但显然不是针对Python 3.7的。我假设如果可以为Python 3.7安装pip,则可以运行pip install命令并获取所需的模块。如果是这样的话,既然已经安装了python 3.7,该如何安装pip?

Answers:


119

您要查找的命令是:

python3.7 -m pip install pip

我花了很长时间也弄明白了。关于它的文档在这里


45
已经尝试过,输出:/usr/local/bin/python3.7: no module named pip[与pip3相同]
ZeCarioca,

8
听起来您的Python 3.7安装缺少点子。您可以尝试使用安装它python3.7 -m ensurepip。另外,我注意到您是从源代码安装的。如果上述方案不适合你,那么也许尝试通过apt安装代替:apt install python3.7?apt软件包随附安装了pip模块。
mpenkov '19

6
我尝试python3.7 -m ensurepip安装了,但使用时python3.7 -m pip install package出现了很多错误。由于我使用的是虚拟机,因此我在安装python 3.7之前先回去apt install python3.7,然后尝试,然后尝试python3.7 -m pip install package。现在一切运行顺利。谢谢!
ZeCarioca,

1
请更正您的答案。它失败了。但这 python3.7 -m pip install pip很好用
Nwawel A Iroume

2
您应该将“ package”替换为您要安装的软件包的名称。
mpenkov

102

上面mpenkov的答案的快速补充(不想让它在评论中迷失方向)

对我来说,我必须先为3.6安装pip

sudo apt install python3-pip

现在您可以安装python 3.7

sudo apt install python3.7

然后我可以为3.7安装pip

python3.7 -m pip install pip

另外,要安装其他模块,只需使用

python3.7 -m pip install <module>

编辑1(12/2019):

我知道这对大多数人来说都是显而易见的。但是,如果您要使用python 3.8,只需用python3.8代替python3.7

编辑2(5/2020):

对于那些能够升级的人,几周前发布的Ubuntu 3.8可以直接使用Python 3.8。


3
pip3.7完成这些步骤后,呼叫似乎也可以工作。
toster-cx

为什么会发生这种情况,任何人都可以阐明这种奇怪的行为吗?
阿德里安·福休斯

1
这也需要export PATH=$HOME/.local/bin:$PATH引起python3.7 -m pip install pip看跌点子成$HOME/.local/
manasouza


14

我使用apt-get在ubuntu18.04中安装python3.7。安装如下。

  1. 安装python3.7
sudo apt-get install python3.7 
  1. 安装pip3。请注意,这可能会为python3.6安装pip3。
sudo apt-get install python3-pip 
  1. 将python3的默认值更改为python3.7。这就是魔术的所在,它将使pip3引用python3.7。
sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.7 1

希望对你有效。


8

要安装所有当前受支持的python版本(已经预先安装了python 3.6),包括适用于Ubuntu 18.04的pip,请执行以下操作:

要安装python3.5和python3.7,请使用deadsnakes ppa:

sudo add-apt-repository ppa:deadsnakes/ppa
sudo apt-get update
sudo apt-get install python3.5
sudo apt-get install python3.7

通过分发包安装python2.7:

sudo apt install python-minimal  # on Ubuntu 18.04 python-minimal maps to python2.7

要安装pip,请使用:

sudo apt install python-pip  # on Ubuntu 18.04 this refers to pip for python2.7
sudo apt install python3-pip  # on Ubuntu 18.04 this refers to pip for python3.6
python3.5 -m pip install pip # this will install pip only for the current user
python3.7 -m pip install pip

我用它为使用tox和Jenkins的python项目设置了CI链。


6

结合@mpenkon和@dangel的答案,对我有用:

  1. sudo apt install python3-pip

  2. python3.7 -m pip install pip

要使步骤2正常运行,必须执行步骤1(假设您尚未安装python3的pip)。它显然使用Python3.6的pip来安装Python 3.7的pip。


1
这里的一个问题是sudo apt install python3-pip不能保证安装python3.7,但不能保证安装其他python3版本
manasouza

没错,但奇怪的是为什么它似乎可以工作(我认为;根本不是Linux专家)。似乎需要某种类型的引导方法,因为您无法使用不需要安装的软件,而不必使用不需要的软件。无论如何,它确实为我工作。您采用这种方法遇到问题了吗?
鲍勃

以它没有安装python 3.7的方式,是的。绝对最好的方法是sudo apt install python3.7考虑使用Ubuntu 18.04。
manasouza

3

使用时apt install python3-pip,我需要安装很多软件包,但我不需要它们。所以,我喜欢这样:

apt update
apt-get install python3-setuptools
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
python3 get-pip.py
rm -f get-pip.py

3

可以使用以下步骤:


sudo apt-get -y update
---------
sudo apt-get install python3.7
--------------
 python3.7
-------------
 curl -O https://bootstrap.pypa.io/get-pip.py
-----------------
sudo apt install python3-pip
-----------------
sudo apt install python3.7-venv
-----------------
 python3.7 -m venv /home/ubuntu/app
-------------
 cd app   
----------------
 source bin/activate

sudo apt-get更新sudo apt-y更新sudo apt-get安装python3.7 python3.7 curl -O bootstrap.pypa.io/get-pip.py sudo apt安装python3-pip sudo apt安装python3.7- venv python3.7 -m venv / home / ubuntu / app cd app ----源bin / activate
Anil Konduru

1

对于打算使用的人venv

如果您还没有pip使用Python 3:

sudo apt install python3-pip

安装venv包:

sudo apt install python3.7-venv

创建虚拟环境(pip默认情况下会自举):

python3.7 -m venv /path/to/new/virtual/environment

要激活虚拟环境,请sourcebin虚拟环境的目录中为当前外壳程序使用适当的脚本。适用于不同shell的脚本是:

bash / zsh – activate

鱼– activate.fish

csh / tcsh – activate.csh

例如,如果使用bash:

source /path/to/new/virtual/environment/bin/activate

(可选)更新pip虚拟环境(在激活时):

pip install --upgrade pip

当您要停用虚拟环境时:

deactivate 

1

我安装pip3使用

python3.7 -m pip install pip

但是在pip3用于安装其他依赖项时,它使用的是python3.6。
您可以通过键入pip3 --version

因此,我这样使用pip3(在以上答案之一中指出):

python3.7 -m pip install <module>

或像这样使用它:

python3.7 -m pip install -r requirements.txt

我做了一个bash别名,以后在〜/ .bashrc文件中用作alias pip3='python3.7 -m pip'。如果使用别名,请不要忘记进行source ~/.bashrc更改并保存。


0

安装python先决条件

sudo apt update
sudo apt install build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev wget

安装python 3.7(从ppa仓库)

sudo add-apt-repository ppa:deadsnakes/ppa
sudo apt update
sudo apt install python3.7

安装pip3.7

sudo apt install python3-pip
python3.7 -m pip install pip

创建python和pip替代

sudo update-alternatives --install /usr/local/bin/python python /usr/bin/python3.7 10
sudo update-alternatives --install /usr/local/bin/pip pip /home/your_username/.local/bin/pip3.7 10

做出改变

source ~/.bashrc
python --version
pip --version

0

怎么样

add-apt-repository ppa:deadsnakes/ppa
apt-get update
apt-get install python3.7-dev
alias pip3.7="python3.7 -m pip"

现在您有了命令

pip3.7

与pip3分开。


-3

pip3pip。您可以根据需要创建别名python3


同样的问题。/usr/local/bin/python3.7: no module named pip3
ZeCarioca,

在您的终端中,键入$ which pip$ which pip3,看看这两个都怎么说。
Patrick Conwell,

/usr/bin/pip/usr/bin/pip3
ZeCarioca,

好的,您到底要在终端机中键入什么以查看错误no module named pip3或其他内容?
帕特里克·康威尔,

python3.7 -m pip3 install psycopg2。如果我只是用pip3 install psycopg2它下载模块,但仍然无法在Python 3.7中导入它。
ZeCarioca,
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.