首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么ensurepip模块不适用于我的自制python 3.9安装?

为什么ensurepip模块不适用于我的自制python 3.9安装?
EN

Stack Overflow用户
提问于 2021-10-10 22:03:49
回答 1查看 46关注 0票数 0

我已经通过自制软件在我的macOS Big Sur系统上安装了Python3.9。为了让pip3正常工作,我尝试使用ensurepip模块:

代码语言:javascript
复制
python3 -m ensurepip

然后它成功了(显然):

代码语言:javascript
复制
Successfully installed pip-21.2.4 setuptools-57.4.0

但是,当我尝试运行pip3时,它找不到pip模块:

代码语言:javascript
复制
$ python3 -m pip
/usr/local/opt/python@3.9/bin/python3.9: No module named pip

我可以看到pip模块确实已经安装在这个目录中:

代码语言:javascript
复制
/usr/local/opt/python@3.9/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/pip

但是,当我运行python3时,我看到了以下内容:

代码语言:javascript
复制
>>> import sys
>>> sys.path
['', '/usr/local/Cellar/python@3.9/3.9.7/Frameworks/Python.framework/Versions/3.9/lib/python39.zip', '/usr/local/Cellar/python@3.9/3.9.7/Frameworks/Python.framework/Versions/3.9/lib/python3.9', '/usr/local/Cellar/python@3.9/3.9.7/Frameworks/Python.framework/Versions/3.9/lib/python3.9/lib-dynload', '/usr/local/lib/python3.9/site-packages']

那么,为什么python3 -m ensurepip决定将pip模块安装到它实际上并不查找模块的目录中呢?更重要的是,我该如何解决这个问题?

EN

回答 1

Stack Overflow用户

发布于 2021-10-10 22:27:12

我想通了。由于python3的臭名昭著的/usr/local权限问题,macOS的自制软件安装无法正常完成。因此,安装后步骤没有触发python3,它设置pip3等。因此,ensurepip模块将pip安装到一个不在python3的模块搜索路径中的目录。

因此,我在/usr/local中修复了自制软件的所有权问题(尽管我不确定为什么这仍然不能开箱即用)。

然后,当我返回运行安装后配置时,它失败了,没有告诉我任何事情。因此,我使用了--debug选项,发现它很生气,因为站点包目录不是空的(由于我之前使用ensurepip安装了pip )。因此,我用rm -rf擦除了该目录,并重新运行了安装后程序。然后,它成功了。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69519304

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档