首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在Mac上管理python包

在Mac上管理python包
EN

Stack Overflow用户
提问于 2019-11-22 04:21:33
回答 1查看 683关注 0票数 2

我在Mac上使用macport来安装python3。我决定遵循macports,而不是直接下载/安装Python3,以便将其与苹果的原生Python安装分开。我使用Python36,因为它与最近添加的LabView python节点兼容。

从那以后,我通过macport添加了许多其他的软件包: numpy,scipy,Pillow,matplotlib,熊猫,jupyter,spyder,.所有的依赖关系都得到了处理,所有的依赖都如预期的那样工作。我甚至安装了PIP (Py36pip),尽管我从未使用过它。

当我尝试安装"jupyter_contrib_nbextensions“时,麻烦就开始了。包没有显示为可用的"macport“。很不情愿,我试过PIP ..。这一切似乎都很好,但在构建阶段收到了大量错误消息。

我在想。当通过macport安装主python时,安装附加python包的适当协议是什么?

  1. 可能会安装python3.x和相应的PIP,并使用PIP而不是macport管理所有其他包?当然,所有python包都必须通过PIP更新(目前,所有内容都是通过macport更新的,这很容易,而且是convenient).
  2. ... )。或者,由于jupyter_contrib_nbextensions是我到目前为止所能找到的唯一不工作的包,所以可以对其进行黑客攻击,并“手动”安装“

”。

我很欣赏你的见解。

干杯,拉德克

(深夜)最新情况:

在阅读了多个python版本的详细编写之后:https://realpython.com/intro-to-pyenv/,我决定从macports中删除所有的python包(确实有点吓人,但提到的网站上的文本相当清楚)。请注意,仍然需要macportshomebrew来安装和构建pyenv

安装pyenv后,构建python3.6需要一段时间。现在,我可以在python版本之间切换--全局(任意目录)或本地(仅在该目录中)。

PIP有点令人沮丧,因为它不是安装在"system“python (in /usr/bin)上,而是在3.6上安装的。我只是在我的本地3.6版本中安装jupyter .下一个是扩展。

一切都解决了。

pyenv一路走来!R>

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-11-22 06:11:33

问题是PIP使用的是哪一种?通常,当一个版本的PIP (例如)时,麻烦就开始了。系统版本)以某种方式与多个版本的Python相关联。在使用MacPorts版本的Python时,最好的方法是始终使用PIP的版本。

关于Python的多个版本的管理,如果您在Python版本之间切换时使用了port select,那么很容易管理。我有一个~/.bash_profile函数,它使我在多个版本的Python和它的PIP版本之间切换非常容易。

例如:

~/.bash_profile

代码语言:javascript
运行
复制
# MacPorts Python and PIP version selection
py() { [[ "$1" = "2" ]] && sudo port select --set python python27 \
&& sudo port select --set pip pip27 && kill -INT $$ && alias pip=pip2; \
[[ "$1" = "3" ]] && sudo port select --set python python36 \
&& sudo port select --set pip pip36 && kill -INT $$ && alias pip=pip3; \
echo "Invalid Python version selected." ; }

像这样使用它:

代码语言:javascript
运行
复制
$ py 2 # switches to Python 2.7 and PIP 2.7
$ py 3 # switches to Python 3.6 and PIP 3.6

检查版本:

代码语言:javascript
运行
复制
$ python -V
Python 3.6.9

$ pip --version
pip 19.3.1 from /opt/local/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/pip (python 3.6)

当一切都在同一页上时,它会使管理方面变得更好。

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

https://stackoverflow.com/questions/58987476

复制
相关文章

相似问题

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