我的问题与Pipfile.lock
完全指定通过Pipenv创建的环境的能力有关。以下是该问题的最小可行示例:
我有以下Pipfile
:
[[source]]
url = "https://pypi.org/simple"
verify_ssl = true
name = "pypi"
[packages]
numpy = "*"
[dev-packages]
[requires]
python_version = "3.6"
将此Pipfile
和最新的Pipfile.lock
复制到新目录并运行
pipenv install
使用
可以完美再现环境pipenv run python
生成numpy
成功安装的Python 3.6.x shell。
但是,如果我仅跨Pipfile.lock
复制并运行
pipenv install --ignore-pipfile
Pipenv根据需要安装numpy
,但忽略了Python版本要求,而是使用Pyenv的3.7.0安装。
注意:Pipfile.lock
包含
"requires": {
"python_version": "3.6"
所以它似乎知道版本要求。
这是Pipenv的预期行为吗?是否确实需要Pipfile
和Pipfile.lock
之外的其他对象才能完全指定(包括Python版本)环境,还是我不知道有没有一条命令可能会产生我的行为?寻找吗?