我在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包的适当协议是什么?
”。
我很欣赏你的见解。
干杯,拉德克
(深夜)最新情况:
在阅读了多个python版本的详细编写之后:https://realpython.com/intro-to-pyenv/,我决定从macports
中删除所有的python
包(确实有点吓人,但提到的网站上的文本相当清楚)。请注意,仍然需要macports
或homebrew
来安装和构建pyenv
。
安装pyenv
后,构建python3.6需要一段时间。现在,我可以在python
版本之间切换--全局(任意目录)或本地(仅在该目录中)。
PIP
有点令人沮丧,因为它不是安装在"system“python (in /usr/bin)上,而是在3.6上安装的。我只是在我的本地3.6版本中安装jupyter
.下一个是扩展。
一切都解决了。
pyenv
一路走来!R>
发布于 2019-11-22 06:11:33
问题是PIP
使用的是哪一种?通常,当一个版本的PIP
(例如)时,麻烦就开始了。系统版本)以某种方式与多个版本的Python
相关联。在使用MacPorts
版本的Python
时,最好的方法是始终使用PIP
的版本。
关于Python
的多个版本的管理,如果您在Python
版本之间切换时使用了port select
,那么很容易管理。我有一个~/.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
检查版本:
$ 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)
当一切都在同一页上时,它会使管理方面变得更好。
https://stackoverflow.com/questions/58987476
复制相似问题