我有以下文件:
[[source]]
name = "pypi"
url = "https://pypi.org/simple"
verify_ssl = true
[dev-packages]
pytest = "*"
pytest-cov = "*"
black = "*"
[packages]
boto3 = "*"
awscli = "*"
pandas = "*"
setuptools-scm = "*"
dask = {extras = ["dataframe"], version = "*"}
fastparquet = "*"
s3fs = "*"
[requires]
python_version = "3.7"
[pipenv]
allow_prereleases = true
当我尝试在boto3和s3fs中的子依赖项(即botocore)之间使用pipenv锁(创建pipfile锁)时,问题就出现了。错误如下所示:
[pipenv.exceptions.ResolutionFailure]: Warning: Your dependencies could not be resolved. You likely have a mismatch in your sub-dependencies.
First try clearing your dependency cache with $ pipenv lock --clear, then try the original command again.
Alternatively, you can use $ pipenv install --skip-lock to bypass this mechanism, then run $ pipenv graph to inspect the situation.
Hint: try $ pipenv lock --pre if it is a pre-release dependency.
ERROR: Could not find a version that matches botocore
There are incompatible versions in the resolved dependencies:
botocore<1.17.45,>=1.17.44 (from aiobotocore==1.1.2->s3fs==0.5.1->-r /var/folders/1p/55zf00x17kv1bw300f79xsnr0000gn/T/pipenvvslkzte6requirements/pipenv-r37de33l-constraints.txt (line 6))
botocore<1.20.0,>=1.19.18 (from boto3==1.16.18->-r /var/folders/1p/55zf00x17kv1bw300f79xsnr0000gn/T/pipenvvslkzte6requirements/pipenv-r37de33l-constraints.txt (line 8))
botocore<2.0a.0,>=1.12.36 (from s3transfer==0.3.3->boto3==1.16.18->-r /var/folders/1p/55zf00x17kv1bw300f79xsnr0000gn/T/pipenvvslkzte6requirements/pipenv-r37de33l-constraints.txt (line 8))
botocore==1.19.18 (from awscli==1.18.178->-r /var/folders/1p/55zf00x17kv1bw300f79xsnr0000gn/T/pipenvvslkzte6requirements/pipenv-r37de33l-constraints.txt (line 13))
这是我的pipenv图:
boto3==1.16.18
- botocore [required: >=1.19.18,<1.20.0, installed: 1.19.18]
- jmespath [required: >=0.7.1,<1.0.0, installed: 0.10.0]
- python-dateutil [required: >=2.1,<3.0.0, installed: 2.8.1]
- six [required: >=1.5, installed: 1.15.0]
- urllib3 [required: >=1.25.4,<1.27, installed: 1.25.11]
- jmespath [required: >=0.7.1,<1.0.0, installed: 0.10.0]
- s3transfer [required: >=0.3.0,<0.4.0, installed: 0.3.3]
- botocore [required: >=1.12.36,<2.0a.0, installed: 1.19.18]
- jmespath [required: >=0.7.1,<1.0.0, installed: 0.10.0]
- python-dateutil [required: >=2.1,<3.0.0, installed: 2.8.1]
- six [required: >=1.5, installed: 1.15.0]
- urllib3 [required: >=1.25.4,<1.27, installed: 1.25.11]
dask==2.30.0
- pyyaml [required: Any, installed: 5.3.1]
docutils==0.15.2
fastparquet==0.4.1
- numba [required: >=0.28, installed: 0.52.0rc2]
- llvmlite [required: >=0.35.0.dev0,<0.36, installed: 0.35.0rc2]
- numpy [required: >=1.15, installed: 1.19.4]
- setuptools [required: Any, installed: 49.2.1]
- numpy [required: >=1.11, installed: 1.19.4]
- packaging [required: Any, installed: 20.4]
- pyparsing [required: >=2.0.2, installed: 3.0.0b1]
- six [required: Any, installed: 1.15.0]
- pandas [required: >=0.19, installed: 1.1.4]
- numpy [required: >=1.15.4, installed: 1.19.4]
- python-dateutil [required: >=2.7.3, installed: 2.8.1]
- six [required: >=1.5, installed: 1.15.0]
- pytz [required: >=2017.2, installed: 2020.4]
- six [required: Any, installed: 1.15.0]
- thrift [required: >=0.11.0, installed: 0.13.0]
- six [required: >=1.7.2, installed: 1.15.0]
partd==1.1.0
- locket [required: Any, installed: 0.2.0]
- toolz [required: Any, installed: 0.11.1]
s3fs==0.5.1
- aiobotocore [required: >=1.0.1, installed: 1.1.2]
- aiohttp [required: >=3.3.1, installed: 4.0.0a1]
- async-timeout [required: >=3.0,<4.0, installed: 3.0.1]
- attrs [required: >=17.3.0, installed: 20.3.0]
- chardet [required: >=2.0,<4.0, installed: 3.0.4]
- multidict [required: >=4.5,<5.0, installed: 4.7.6]
- typing-extensions [required: >=3.6.5, installed: 3.7.4.3]
- yarl [required: >=1.0,<2.0, installed: 1.6.2]
- idna [required: >=2.0, installed: 2.10]
- multidict [required: >=4.0, installed: 4.7.6]
- typing-extensions [required: >=3.7.4, installed: 3.7.4.3]
- aioitertools [required: >=0.5.1, installed: 0.7.1]
- typing-extensions [required: >=3.7, installed: 3.7.4.3]
- botocore [required: >=1.17.44,<1.17.45, installed: 1.19.18]
- jmespath [required: >=0.7.1,<1.0.0, installed: 0.10.0]
- python-dateutil [required: >=2.1,<3.0.0, installed: 2.8.1]
- six [required: >=1.5, installed: 1.15.0]
- urllib3 [required: >=1.25.4,<1.27, installed: 1.25.11]
- wrapt [required: >=1.10.10, installed: 1.12.1]
- fsspec [required: >=0.8.0, installed: 0.8.4]
setuptools-scm==4.1.2
- setuptools [required: Any, installed: 49.2.1]
综上所述,aiobotocore似乎特别需要botocore 1.17.44,但boto3中的botocore至少需要1.19.18。解决这个问题的最好方法是什么,这样我就可以使用这些软件包而不必经历依赖性挂断
目前没有回答
相关问题 更多 >
编程相关推荐