我知道一些Python,一年多以前,我写了一个小脚本,使用pipenv
来管理依赖项。
旧平台是Windows 7,当前平台是Windows 10。
那时我可能已经安装了Pyhton 3.7,而不是3.8.3,但是正在运行:
pipenv install
抱怨:
Warning: Python 3.7 was not found on your system…
Neither 'pyenv' nor 'asdf' could be found to install Python.
You can specify specific versions of Python with:
$ pipenv --python path\to\python
这是Pipfile
[[source]]
url = "https://pypi.org/simple"
verify_ssl = true
name = "pypi"
[packages]
python-ldap = {path = "./dependencies/python_ldap-3.1.0-cp37-cp37m-win_amd64.whl"}
requests = "~=2.0"
mysqlclient = "~=1.0"
[dev-packages]
[requires]
python_version = "3.7"
我手动编辑了最后一行以允许3.8,但如何正确解决呢?
我认为3.7应该是最低要求-脚本非常简单,我认为甚至3.0也可以。
答案 0 :(得分:2)
您可以从官方网站-https://www.python.org/downloads/
下载Python 3.7。答案 1 :(得分:2)
[requires]
python_version = "3.7"
和错误:
Warning: Python 3.7 was not found on your system…
关于已安装pipenv的提示的排序,但是当它读取您的配置文件时,发现它应该使用python 3.7创建环境,因此,从逻辑上讲,您应该安装3.7 或更新pipfile以使用您已安装的python吗?
答案 2 :(得分:2)
我建议您安装 pyenv(以便它可以管理您的 Python 版本)。
pyenv 的仓库是这个: https://github.com/pyenv/pyenv
如果安装了 pyenv,当 Pipfile 需要一个您的机器上没有的 Python 版本时,它会询问您是否要使用 pyenv 安装它。 通过这种方式,您将能够在具有不同 Python 版本的项目中工作,而不必担心项目使用的是哪个版本。 使用 pyenv,您还可以在全局 shell 中轻松地在 python 版本之间进行更改。
另一个对你的问题没有真正理解的建议是,你应该看看诗歌来代替 pipenv(它更快,因为它以异步方式安装依赖项),诗歌的网站是这个:{{3} }
但是,您仍然需要像 pyenv 这样的东西或手动安装另一个 python 版本来解决您的问题。
如果你只是想让 Pipfile 允许你使用更新版本的 python,我想你可以像这样改变它:
[[source]]
url = "https://pypi.org/simple"
verify_ssl = true
name = "pypi"
[packages]
python-ldap = {path = "./dependencies/python_ldap-3.1.0-cp37-cp37m-win_amd64.whl"}
requests = "~=2.0"
mysqlclient = "~=1.0"
[dev-packages]
[requires]
python_version = "^3.7"
我不确定语法是 ^3.7 还是 >=3.7,但应该是这两者之一。
答案 3 :(得分:1)
简单的解决方案是,您可以避免这样的问题并使其成为完全系统可靠的python版本。要实现这一点,只需从 requires 中删除 python_version = "3.7" 行。
[[source]]
url = "https://pypi.org/simple"
verify_ssl = false
name = "pypi"
[packages]
[dev-packages]
[requires]
python_version = "3.7"
所以在删除 python 版本后,你的 pipfile 会像,
[[source]]
url = "https://pypi.org/simple"
verify_ssl = false
name = "pypi"
[packages]
[dev-packages]
[requires]
python_version = "*"
答案 4 :(得分:0)
我安装了 Python 3.9,
和pipenv需要Python 3.6,如pipfile中所述。
因此,我更改了 pipfile
中的值[requires]
python_version = "3.6"
到
[requires]
python_version = "*"
所以它可以在任何版本上工作。