我继续从python.org/downloads/将最新版本的python3下载到我的mac上,但是,我在终端中使用pip时遇到了麻烦,所以我使用Homebrew通过命令行安装python。看起来Homebrew安装了2.x版本。我也知道我的mac已经内置了一些python2.x版本。我想删除2.x版本并且只使用我拥有的python3.6.1。我怎么能做到这一点?
答案 0 :(得分:0)
您的问题有几个方面:调用不同的主要Python版本,删除不需要的Homebrew安装包,以及识别正在使用的安装。
主要的Python版本2和3使用不同的命令名来调用它们。第一个python
根据您配置的PATH
环境变量使用系统默认值, 默认使用Python 2,但并非在所有系统上使用。参考:https://www.python.org/dev/peps/pep-0394/
相反,显式调用您想要的版本,例如通过运行python3
。请注意,虚拟环境(通过运行python3 -m venv <name>
或virtualenv
创建)将使用您选择的Python版本创建一个独立的环境,其中python
将始终使用该版本,pip
将相对于系统范围而不是系统范围安装软件包,这可能会避免超级用户(sudo
)权限的要求。
请注意,自制软件可能无法覆盖系统提供的默认版本,要求您对PATH
进行更改以强制使用Homebrew的版本。安装软件包后,Homebrew将通知您此类信息,稍后您可以通过运行brew info <package>
卸载brew安装的软件包需要运行:brew uninstall <package>
有关详细信息,请运行:brew help
如上所述,确定您使用的Python始于PATH
。要快速识别您在shell中输入python
,python2
或python3
时调用的可执行文件,请运行:which python
- 这有助于确定您是否使用Homebrew安装版本或系统版本,或者如果您使用的是活动虚拟环境中的版本。您还可以使用which
来标识pip
或pip3
命令位置。
这可以让你了解等式的第一部分。第二个归结为:Python认为事情在哪里?调用它然后运行以下内容将告诉您它认为(导入)的确切位置:
import sys, print
pprint(sys.path)
这有助于跟踪与您为何无法导入刚刚安装pip
的软件包相关的问题。
我可以强烈推荐使用virtual environment将您的项目与系统级别的包和差异隔离开来。在一个范围内,python
和pip
基本上始终按预期行事,就像您在创建环境时所确定的那样。