pipenv 坚持安装 Python 3.6

pipenv insists on installing Python 3.6

我使用以下命令在 macOS 上设置 Python 开发环境:

brew install pyenv
pyenv install 3.7.0
pyenv install 2.7.15
pyenv global 3.7.0

我还在 .bash_profile 中添加了以下内容:

export PATH="/Users/me/.local/bin:$PATH"
eval "$(pyenv init -)"

Python 似乎按预期工作:

01:29 $ python --version
Python 3.7.0

然后我以“pragmatic”的方式安装了 pipenv,因为通过 Homebrew 安装也会安装 Python 的完整副本(我不想要,因为我已经在使用 pyenv ):

pip install --user pipenv

现在,当我尝试启动一个新的 pipenv 项目时,我收到以下消息:

01:28 $ mkdir my-new-project && cd my-new-project && pipenv install
Warning: Python 3.6 was not found on your system...
Would you like us to install CPython 3.6.6 with pyenv? [Y/n]:

我认为 pipenv 会自动使用任何可用的 Python 的 pyenv 副本——在我的例子中是 3.7.0。安装CPython 3.6.6的提示从哪里来?

简短回答:如果您看到这样的奇怪行为,运行 pipenv --support 并仔细阅读。

我有一个流浪者 Pipfile 挂在我项目的 父目录 中,它指示要安装的 Python 版本。我猜 pipenv install 期间有某种递归搜索在当前目录之外的任何目录中查找 Pipfile