如何在 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。一旦您的虚拟环境处于活动状态,python
和 pip
等可执行文件名称将指向正确的名称。
【讨论】:
已经试过了,输出:/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 绑定