我在Mac上使用macports安装python3。我决定遵循macports路径,而不是直接进行Python3下载/安装,以使其与Apple的本机Python安装分开。我选择使用Python36,因为它与最近添加的LabView python节点兼容。
从那时起,我通过Macports添加了许多其他软件包:numpy,scipy,Pillow,matplotlib,pandas,jupyter,spyder等。。。我什至从未安装过PIP(py36-pip)。
当我尝试安装“ jupyter_contrib_nbextensions”时,问题开始了。该程序包未显示为可用的“ macport”。我很不情愿地尝试了PIP ...一切似乎都不错,但是在构建阶段收到了很多错误消息。
我想知道。通过macports安装主要python时,安装其他python软件包的正确协议是什么?
也许安装python 3.x和相应的PIP并使用PIP而不是macports管理所有其他软件包?当然,所有python软件包都必须通过PIP进行更新(当前,所有内容都通过macports进行更新,这既方便又方便)。
...,或者,因为jupyter_contrib_nbextensions是到目前为止我找不到的唯一不工作的软件包,请破解它并以某种方式“手动”安装?
还有什么?
感谢您的见识。
干杯, 拉德克
(深夜)更新:
在这里阅读了多个python版本的大量文章后,https://realpython.com/intro-to-pyenv/我决定从python
中删除所有macports
软件包(确实有点吓人,但是提到的网站上的文字站点合理清晰)。请注意,仍然需要macports
或homebrew
来安装和构建pyenv
在安装pyenv
之后,花了一些时间来构建python3.6。现在,我可以在全局(任何目录)或本地(仅在该目录中)设置的python
个版本之间切换。
PIP
有点令人沮丧,因为它未安装在“系统” python(在/ usr / bin中)中,但已安装在3.6中。我只是在本地3.6版本中安装jupyter
....接下来是扩展。
全部解决了。
pyenv
一直! R>
答案 0 :(得分:1)
问题是正在使用哪个PIP
?通常,当某个版本的PIP
(例如系统版本)与多个版本的Python
相关联时,麻烦就开始了。使用MacPorts
的{{1}}版本时最好的避免方法是始终使用Python
的版本。
关于PIP
的多个版本的管理;在Python
个版本之间切换时,如果使用port select
则很容易管理。我有一个Python
函数,这使我非常容易在~/.bash_profile
的多个版本及其Python
的版本之间来回切换。
例如:
在PIP
~/.bash_profile
像这样使用它:
# 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." ; }
检查版本:
$ py 2 # switches to Python 2.7 and PIP 2.7
$ py 3 # switches to Python 3.6 and PIP 3.6
当所有内容都在同一页面上时,它将使管理方面变得更好。