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

Posted

技术标签:

【中文标题】如何在 Ubuntu 18 上为 python 3.7 安装 pip?【英文标题】:How to Install pip for python 3.7 on Ubuntu 18? 【发布时间】:2019-07-05 03:07:39 【问题描述】:

编辑 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,因为它已经安装了?

【问题讨论】:

【参考方案1】:

pip3 不是pip。如果愿意,您可以像使用 python3 一样创建别名。

【讨论】:

同样的问题。 /usr/local/bin/python3.7: no module named pip3 在您的终端中输入$ which pip$ which pip3,然后看看他们说了什么。 /usr/bin/pip/usr/bin/pip3 好的,你到底在终端输入什么来查看错误no module named pip3或其他什么? python3.7 -m pip3 install psycopg2。如果我只使用pip3 install psycopg2 它会下载模块,但我仍然无法在 Python 3.7 中导入它。【参考方案2】:

一般情况下,不要这样做

pip install package

因为,正如您已经正确注意到的那样,不清楚您正在安装 package 的 Python 版本。

相反,如果您想为 Python 3.7 安装 package,请执行此操作

python3.7 -m pip install package

package 替换为您要安装的任何名称。

我也花了很长时间才弄明白。关于它的文档是here。

您的另一个选择是设置virtual environment。一旦您的虚拟环境处于活动状态,pythonpip 等可执行文件名称将指向正确的名称。

【讨论】:

已经试过了,输出:/usr/local/bin/python3.7: no module named pip [pip3 相同] 听起来您的 Python 3.7 安装缺少 pip。您可以尝试使用:python3.7 -m ensurepip 安装它。另外,我注意到您是从源代码安装的。如果上述选项对您不起作用,那么也许可以尝试通过 apt 安装:apt install python3.7? apt 包附带安装了 pip 模块。 我尝试了python3.7 -m ensurepip,它安装了,但是当我使用python3.7 -m pip install package 时出现一堆错误。因为我在虚拟机上,所以我在安装 python 3.7 之前返回并尝试了apt install python3.7,然后尝试了python3.7 -m pip install package。现在一切都很顺利。谢谢! 您应该将“package”替换为您要安装的软件包的名称。 No module named ensurepip -_-【参考方案3】:

要安装所有当前支持的 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 链。

【讨论】:

【参考方案4】:

mpenkov's answer above 的快速插件(不希望它在 cmets 中丢失)

对我来说,我必须先安装 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):

对于那些能够升级的用户,Python 3.8 可用于几周前发布的 Ubuntu 20.04 的开箱即用。

【讨论】:

泰!完成这些步骤后,也可以调用pip3.7 为什么会发生这种情况,有人能解释一下这种奇怪的行为吗? 这也需要export PATH=$HOME/.local/bin:$PATH 因为python3.7 -m pip install pip 将pip 放入$HOME/.local/【参考方案5】:

这对我有用。

curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py

然后这个命令加上 sudo:

python3.7 get-pip.py

基于this instruction。

【讨论】:

需要像***.com/a/57921046/1541042一样运行其他命令【参考方案6】:

当我使用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

【讨论】:

【参考方案7】:

对于那些打算使用venv的人:

如果您还没有用于 Python 3 的 pip

sudo apt install python3-pip

安装venv包:

sudo apt install python3.7-venv

创建虚拟环境(默认使用pip 引导):

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

要激活虚拟环境,请从虚拟环境的bin 目录中source 为当前shell 设置适当的脚本。不同 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 

【讨论】:

【参考方案8】:

可以使用以下步骤:


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 update sudo apt-get -y update sudo apt-get install python3.7 python3.7 curl -O 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【参考方案9】:

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

    安装python3.7
sudo apt-get install python3.7 
    安装 pip3。需要注意的是,这可能会为python3.6安装pip3。
sudo apt-get install python3-pip 
    将python3的默认值更改为python3.7。这就是神奇之处,它将使 pip3 引用 python3.7。
sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.7 1

希望它对你有用。

【讨论】:

谢谢!这是最完整的方法,因为它涵盖了您的系统可能有另一个 python3 的事实【参考方案10】:

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

    sudo apt install python3-pip

    python3.7 -m pip install pip

第 2 步需要第 1 步(假设您还没有用于 python3 的 pip)才能运行第 2 步。它显然使用 Python3.6 的 pip 来安装 Python 3.7 的 pip。

【讨论】:

这里有个问题是sudo apt install python3-pip不保证安装python3.7,其他python3版本也一样 确实如此,但奇怪的是为什么它似乎有效(我认为;根本不是 Linux 大师)。似乎需要某种类型的引导方法,因为您不能使用您不必安装您没有的软件的软件。无论如何,它确实对我有用。您是否在采用这种方法时遇到了问题? 以它没有安装python 3.7的方式,是的。考虑到 Ubuntu 18.04,绝对最好的方法是使用 sudo apt install python3.7【参考方案11】:

我安装了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

【讨论】:

【参考方案12】:

安装 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

【讨论】:

【参考方案13】:

简单点怎么样

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 分开。

【讨论】:

【参考方案14】:
curl https://bootstrap.pypa.io/get-pip.py | sudo python3.7

如果一切都失败了。

【讨论】:

以上是关于如何在 Ubuntu 18 上为 python 3.7 安装 pip?的主要内容,如果未能解决你的问题,请参考以下文章

在 Ubuntu 18.04 上为 python 安装 mysqlclient 时出错

如何在 Ubuntu 20.04 上为 Python 3.9 安装 pip

如何在本地机器上为 linux 发布二进制 Python ***

在 Ubuntu 上为 libtorrent 安装 Python3 绑定

expdp 命令在 Ubuntu 服务器上为 Oracle 数据库提供错误

如何在Ubuntu 18.04上安装Python 3.8