我对Python略知一二,一年多前我写了一个小脚本,使用pipenv
来管理依赖关系。
旧的平台是Windows 7,当前的平台是Windows 10。
那时我可能已经安装了Python 3.7,现在我已经安装了Python 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
这是管道文件
[[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应该工作。
9条答案
按热度按时间kjthegm61#
和错误:
Warning: Python 3.7 was not found on your system…
有点提示pipenv已经安装,但是当它读取你的配置文件时,它看到它应该用python 3.7创建环境,所以,逻辑上,你应该安装3.7 * 或者 * 更新pipfile以使用你已经安装的python?
hsvhsicv2#
如果你的
python
命令是Python 2.x,但是你有一个运行Python 3.x的python3
命令,那么你可能只需要使用--python
选项来告诉pipenv
使用它:vuv7lop33#
我建议您安装pyenv(这样它就可以管理您的Python版本)。
pyenv的存储库是这样的:https://github.com/pyenv/pyenv
安装了pyenv后,当Pipfile需要一个Python版本而你的机器上没有时,它会询问你是否要用pyenv来安装它。这样你就可以在不同python版本的项目中工作,而不必担心项目使用的是哪个版本。使用pyenv,你也可以在全局shell中轻松地在python版本之间切换。
另一个与你的问题不相关的建议是,你应该看看诗歌来代替pipenv(它更快,因为它以异步方式安装依赖项),诗歌的网站是这样的:https://python-poetry.org/
但是,您仍然需要像pyenv这样的东西或者手动安装另一个python版本来解决您的问题。
如果你只是想让Pipfile允许你使用更新版本的python,我想你可以这样修改它:
我不太确定语法是^3.7还是〉=3.7,但应该是这两个中的一个。
hujrc8aj4#
您可以从官方网站下载Python 3.7-https://www.python.org/downloads/
snz8szmq5#
我安装了Python 3.9,
并且pipenv需要Python 3.6,如pipfile中所述。
因此,我更改了pipfile中的值
至
因此它可以在任何版本上工作。
kmbjn2e36#
简单的解决方案是,你可以避免这样的问题,并使它成为一个完全系统可靠的python版本。要做到这一点,只需从requires中删除python_version =“3.7”行。
所以在删除python版本后,您的pipfile将类似于,
bbmckpt77#
安装相关版本
如何检查Python版本
命令任意目录〉Python -v
在我的情况下,他们需要Python 3.8.2,但我有Python 3.8.0版本安装,由于这一点,我无法克服这个错误
一旦我安装确切的版本,我可以运行命令
iswrvxsc8#
我遇到过类似的问题,通过删除pipfile解决了。pipfile路径是您在终端中输入pipenv安装命令的路径。
zyfwsgd69#
当我将旧项目移到新笔记本电脑上时,也遇到了同样的问题。
我解决这个问题的方法是删除旧的***Pipfile***,在终端中输入
pipenv shell
。然后它会建立一个新的***Pipfile***,并与你的***python***匹配。