python3.7 (Ubuntu 16.04) 的点子
pip for python3.7 (Ubuntu 16.04)
我无法为 python 3.7 安装 pip。当我尝试在线搜索时,我找到的一种解决方案是使用 get-pip.py 安装 pip。但是,它对我来说失败了:
sudo python3.7 get-pip.py
Traceback (most recent call last):
File "get-pip.py", line 21373, in <module>
main()
File "get-pip.py", line 197, in main
bootstrap(tmpdir=tmpdir)
File "get-pip.py", line 82, in bootstrap
import pip._internal
File "/tmp/tmp3273u8va/pip.zip/pip/_internal/__init__.py", line 40, in <module>
File "/tmp/tmp3273u8va/pip.zip/pip/_internal/cli/autocompletion.py", line 8, in <module>
File "/tmp/tmp3273u8va/pip.zip/pip/_internal/cli/main_parser.py", line 12, in <module>
File "/tmp/tmp3273u8va/pip.zip/pip/_internal/commands/__init__.py", line 6, in <module>
File "/tmp/tmp3273u8va/pip.zip/pip/_internal/commands/completion.py", line 6, in <module>
File "/tmp/tmp3273u8va/pip.zip/pip/_internal/cli/base_command.py", line 19, in <module>
File "/tmp/tmp3273u8va/pip.zip/pip/_internal/download.py", line 37, in <module>
File "/tmp/tmp3273u8va/pip.zip/pip/_internal/utils/glibc.py", line 3, in <module>
File "/usr/local/lib/python3.7/ctypes/__init__.py", line 7, in <module>
from _ctypes import Union, Structure, Array
ModuleNotFoundError: No module named '_ctypes'
现在,要解决这个问题,我发现应该安装 libffi-dev
软件包。但是,我确认此软件包已安装在我的系统上。我不确定我应该如何解决这个问题。有人可以帮忙吗?
sudo apt-get install libffi-dev
Reading package lists... Done
Building dependency tree
Reading state information... Done
libffi-dev is already the newest version (3.2.1-4).
0 upgraded, 0 newly installed, 0 to remove and 50 not upgraded.
更新:
我按照步骤从 https://serverfault.com/questions/918335/best-way-to-run-python-3-7-on-ubuntu-16-04-which-comes-with-python-3-5 安装 Python 3.7。此外,当我检查 pip3.7 安装时,我得到的输出为
$ pip3.7 --version
pip 19.0.1 from /usr/local/lib/python3.5/dist-packages/pip (python 3.5)
$ sudo apt install python3-pip
Reading package lists... Done
Building dependency tree
Reading state information... Done
python3-pip is already the newest version (8.1.1-2ubuntu0.4).
0 upgraded, 0 newly installed, 0 to remove and 50 not upgraded.
但是当我执行我的程序时,我得到了类似 /usr/local/bin/python3.7: No module named pip
.
的错误
其实简单多了。
假设您的 Linux 是基于 Debian 的(例如 Ubuntu),您应该根据需要为 Python 3.x 安装 pip sudo apt install python3-pip
,或者 sudo apt install python-pip
对于 Python 2.x.
如果您的 OS 不是基于 debian 的,只需更改正在使用的包管理器(例如使用 yum 或 pacman 而不是 apt)。
Here,您还可以在 Ubuntu 18.04.
上找到安装 pip 的指南
希望对您有所帮助!
我通过 ppa
(sudo add-apt-repository ppa:deadsnakes/ppa
) 在 Ubuntu 16.04 中安装了 python3.7
(参见 detailed instructions ppa installation Python3.7)
对我来说,Nick Tritsis 的回答没有用。安装 pip
的唯一方法是直接下载文件 get-pip.py and running it on python 3.7 (according to the method in the official site)
python3.7 get-pip.py
但是,当我这样做时,我收到了一条错误消息
ERROR: Could not install packages due to an
EnvironmentError: [Errno 13] Permission denied:
一个不推荐的解决方案是使用sudo
:
sudo python3.7 get-pip.py
推荐的解决方案
调用脚本时可以只提供参数 --user
:
python3.7 get-pip.py --user
感谢@Matthew Strasiotto,他向我推荐了这个解决方案。
备选方案
这个替代解决方案是为了好玩;它比推荐的更复杂:我们可以将选项 --user
添加到文件中。
所以我们打开文件 get-pip.py
并更改给出命令参数的代码行:我们在那里添加了使安装成为可能的参数 --user
。
原文:
# Add our default arguments
args = ["install", "--upgrade", "--force-reinstall"] + args
修改后的行:
# Add our default arguments
args = ["install", "--user", "--upgrade", "--force-reinstall"] + args
修改后 python3.7 get-pip.py
运行流畅。
我无法为 python 3.7 安装 pip。当我尝试在线搜索时,我找到的一种解决方案是使用 get-pip.py 安装 pip。但是,它对我来说失败了:
sudo python3.7 get-pip.py
Traceback (most recent call last):
File "get-pip.py", line 21373, in <module>
main()
File "get-pip.py", line 197, in main
bootstrap(tmpdir=tmpdir)
File "get-pip.py", line 82, in bootstrap
import pip._internal
File "/tmp/tmp3273u8va/pip.zip/pip/_internal/__init__.py", line 40, in <module>
File "/tmp/tmp3273u8va/pip.zip/pip/_internal/cli/autocompletion.py", line 8, in <module>
File "/tmp/tmp3273u8va/pip.zip/pip/_internal/cli/main_parser.py", line 12, in <module>
File "/tmp/tmp3273u8va/pip.zip/pip/_internal/commands/__init__.py", line 6, in <module>
File "/tmp/tmp3273u8va/pip.zip/pip/_internal/commands/completion.py", line 6, in <module>
File "/tmp/tmp3273u8va/pip.zip/pip/_internal/cli/base_command.py", line 19, in <module>
File "/tmp/tmp3273u8va/pip.zip/pip/_internal/download.py", line 37, in <module>
File "/tmp/tmp3273u8va/pip.zip/pip/_internal/utils/glibc.py", line 3, in <module>
File "/usr/local/lib/python3.7/ctypes/__init__.py", line 7, in <module>
from _ctypes import Union, Structure, Array
ModuleNotFoundError: No module named '_ctypes'
现在,要解决这个问题,我发现应该安装 libffi-dev
软件包。但是,我确认此软件包已安装在我的系统上。我不确定我应该如何解决这个问题。有人可以帮忙吗?
sudo apt-get install libffi-dev
Reading package lists... Done
Building dependency tree
Reading state information... Done
libffi-dev is already the newest version (3.2.1-4).
0 upgraded, 0 newly installed, 0 to remove and 50 not upgraded.
更新: 我按照步骤从 https://serverfault.com/questions/918335/best-way-to-run-python-3-7-on-ubuntu-16-04-which-comes-with-python-3-5 安装 Python 3.7。此外,当我检查 pip3.7 安装时,我得到的输出为
$ pip3.7 --version
pip 19.0.1 from /usr/local/lib/python3.5/dist-packages/pip (python 3.5)
$ sudo apt install python3-pip
Reading package lists... Done
Building dependency tree
Reading state information... Done
python3-pip is already the newest version (8.1.1-2ubuntu0.4).
0 upgraded, 0 newly installed, 0 to remove and 50 not upgraded.
但是当我执行我的程序时,我得到了类似 /usr/local/bin/python3.7: No module named pip
.
其实简单多了。
假设您的 Linux 是基于 Debian 的(例如 Ubuntu),您应该根据需要为 Python 3.x 安装 pip sudo apt install python3-pip
,或者 sudo apt install python-pip
对于 Python 2.x.
如果您的 OS 不是基于 debian 的,只需更改正在使用的包管理器(例如使用 yum 或 pacman 而不是 apt)。
Here,您还可以在 Ubuntu 18.04.
上找到安装 pip 的指南希望对您有所帮助!
我通过 ppa
(sudo add-apt-repository ppa:deadsnakes/ppa
) 在 Ubuntu 16.04 中安装了 python3.7
(参见 detailed instructions ppa installation Python3.7)
对我来说,Nick Tritsis 的回答没有用。安装 pip
的唯一方法是直接下载文件 get-pip.py and running it on python 3.7 (according to the method in the official site)
python3.7 get-pip.py
但是,当我这样做时,我收到了一条错误消息
ERROR: Could not install packages due to an
EnvironmentError: [Errno 13] Permission denied:
一个不推荐的解决方案是使用sudo
:
sudo python3.7 get-pip.py
推荐的解决方案
调用脚本时可以只提供参数 --user
:
python3.7 get-pip.py --user
感谢@Matthew Strasiotto,他向我推荐了这个解决方案。
备选方案
这个替代解决方案是为了好玩;它比推荐的更复杂:我们可以将选项 --user
添加到文件中。
所以我们打开文件 get-pip.py
并更改给出命令参数的代码行:我们在那里添加了使安装成为可能的参数 --user
。
原文:
# Add our default arguments
args = ["install", "--upgrade", "--force-reinstall"] + args
修改后的行:
# Add our default arguments
args = ["install", "--user", "--upgrade", "--force-reinstall"] + args
修改后 python3.7 get-pip.py
运行流畅。