Mac OS Catalina 全新安装的 pip3 和 pipenv 问题

MRS*_*BOT 4 homebrew zsh pip python-3.x macos-catalina

我首先使用安装了 xcode 开发工具

%xcode-select --install
Run Code Online (Sandbox Code Playgroud)

然后我安装了 Homebrew 使用

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
Run Code Online (Sandbox Code Playgroud)

然后我做了

%brew install python3

%pip3 install pipenv
Run Code Online (Sandbox Code Playgroud)

但是当我打电话

%pip3
Run Code Online (Sandbox Code Playgroud)

我得到

% pip3
Traceback (most recent call last):
  File "/Library/Developer/CommandLineTools/usr/bin/pip3", line 10, in <module>
    sys.exit(main())
TypeError: 'module' object is not callable
Run Code Online (Sandbox Code Playgroud)

这是它说我的 pip3 和 python3 所在的地方

% which pip3
/usr/bin/pip3

% which python3
/usr/bin/python3
Run Code Online (Sandbox Code Playgroud)

有人可以帮我解决这个问题。我正在尝试学习编程,但如果不解决这个问题我就无法继续

Mic*_*oph 10

MacOS Catalina 附带了它自己的python3和版本pip3,因此这可能是 macOS 和 Brew 安装的 Python 库之间的冲突。我不再将 Brew 用于与 Python 相关的任何事情,从而解决了类似的问题。

我的建议:从全新安装的 Catalina,运行sudo pip3 install pipenv. 为您处理的每个项目创建一个单独的目录,并在pipenv shell您每次处理它时从该目录运行。永远不要在系统范围内安装任何软件包,也不要覆盖 macOS 的 Python。您所做的任何事情,都可以在 Pipenv 管理的虚拟环境中进行——仅通过pipenv install <pkg>.

执行所有这些操作将在~/.local/share/virtualenvs/每个项目的目录中保留正确版本的 Python 二进制文件和所有相关包。这样,未来的 macOS 更新不应该每次都破坏依赖关系。