bounty还有3天到期。回答此问题可获得+50声望奖励。d84_n1nj4正在寻找一个答案从一个有信誉的来源。
我已经阅读了各种其他类似的问题,没有找到一个符合我的问题。如果我漏掉了一个,请随时重新引导我。
我的系统(Arch Linux)上安装了Python 3.10.7,我需要处理一个使用Python 3.6.9的旧项目。
我知道这个项目与3.6.9一起工作,并且它的依赖项被正确安装,因为我可以看到它在我输入检查Python版本的docker容器中运行良好。
因为我已经尝试了几次,所以我确保重新开始一个新的环境:pipenv --rm
rm Pipfile
那我就做了pipenv --python 3.6.9
Python 3.6.9和Pyenv一起成功安装,虚拟环境也是如此。
如果我做pipenv shell
,那么python --version
就是Python 3.6.9
。然后我Ctrl-D
离开环境。
然后我执行pipenv install -r requirements.txt
,它崩溃并返回以下追溯:
Requirements file provided! Importing into Pipfile...
Pipfile.lock not found, creating...
Locking [packages] dependencies...
Building requirements...
Resolving dependencies...
✘ Locking Failed!
Traceback (most recent call last):
File "/usr/lib/python3.10/site-packages/pipenv/resolver.py", line 867, in <module>
main()
File "/usr/lib/python3.10/site-packages/pipenv/resolver.py", line 844, in main
from pipenv.vendor.vistir.misc import replace_with_text_stream
File "/usr/lib/python3.10/site-packages/pipenv/__init__.py", line 58, in <module>
from .cli import cli
File "/usr/lib/python3.10/site-packages/pipenv/cli/__init__.py", line 1, in <module>
from .command import cli # noqa
File "/usr/lib/python3.10/site-packages/pipenv/cli/command.py", line 7, in <module>
from pipenv.cli.options import (
File "/usr/lib/python3.10/site-packages/pipenv/cli/options.py", line 3, in <module>
from pipenv.project import Project
File "/usr/lib/python3.10/site-packages/pipenv/project.py", line 2
from __future__ import annotations
^
SyntaxError: future feature annotations is not defined
如果我错了请纠正我,我知道这里的安装使用的是Python 3.10,而代码预计将在3.6中运行,其中注解是未来的。
我做错了什么?
2条答案
按热度按时间wljmcqd81#
pipenv在
2022.4.20
上放弃了Python 3.6的支持。如果你使用的是旧版本的pipenv,请检查你的docker容器上的pipenv版本。py49o6xq2#
最好使用
python 3.6
的相应管道版本,并将其添加到requirements.txt文件中。pipenv==2018.11.26
你可以参考这份文件和这份