我正在尝试从 Windows PowerShell 运行 Python 应用程序的命令。我尝试按照教程设置GitHub 页面中概述的环境,但遇到了“PackagesNotFoundError”问题,并且缺少许多包。
给出错误的命令是:
$ conda env create -f environment.yml
这是我收到的错误消息。
PackagesNotFoundError: The following packages are not available from current channels:
- zlib==1.2.13=h5eee18b_0
- xz==5.4.2=h5eee18b_0
- wheel==0.38.4=py39h06a4308_0
- tk==8.6.12=h1ccaba5_0
- sqlite==3.41.2=h5eee18b_0
- setuptools==68.0.0=py39h06a4308_0
- readline==8.2=h5eee18b_0
- python==3.9.16=h955ad1f_3
- pip==23.2.1=py39h06a4308_0
- openssl==3.0.10=h7f8727e_0
- ncurses==6.4=h6a678d5_0
- libstdcxx-ng==11.2.0=h1234567_1
- libgomp==11.2.0=h1234567_1
- libgcc-ng==11.2.0=h1234567_1
- libffi==3.4.4=h6a678d5_0
- ld_impl_linux-64==2.38=h1181459_1
- ca-certificates==2023.05.30=h06a4308_0
- _openmp_mutex==5.1=1_gnu
Current channels:
- https://repo.anaconda.com/pkgs/main/win-64
- https://repo.anaconda.com/pkgs/r/win-64
- https://repo.anaconda.com/pkgs/msys2/win-64
- https://conda.anaconda.org/conda-forge/win-64
- https://repo.anaconda.com/pkgs/free/win-64
- https://repo.anaconda.com/pkgs/pro/win-64
To search for alternate channels that may provide the conda package you're
looking for, navigate to
https://anaconda.org
and use the search bar at the top of the page.
最后,这是用于设置环境的.yml 文件。
name: automoldesigner
channels:
- defaults
dependencies:
- _libgcc_mutex=0.1=main
- _openmp_mutex=5.1=1_gnu
- ca-certificates=2023.05.30=h06a4308_0
- ld_impl_linux-64=2.38=h1181459_1
- libffi=3.4.4=h6a678d5_0
- libgcc-ng=11.2.0=h1234567_1
- libgomp=11.2.0=h1234567_1
- libstdcxx-ng=11.2.0=h1234567_1
- ncurses=6.4=h6a678d5_0
- openssl=3.0.10=h7f8727e_0
- pip=23.2.1=py39h06a4308_0
- python=3.9.16=h955ad1f_3
- readline=8.2=h5eee18b_0
- setuptools=68.0.0=py39h06a4308_0
- sqlite=3.41.2=h5eee18b_0
- tk=8.6.12=h1ccaba5_0
- tzdata=2023c=h04d1e81_0
- wheel=0.38.4=py39h06a4308_0
- xz=5.4.2=h5eee18b_0
- zlib=1.2.13=h5eee18b_0
- pip:
- aiohttp==3.8.5
- aiohttp-cors==0.7.0
- aiosignal==1.3.1
- async-timeout==4.0.3
- attrs==23.1.0
- autogluon-common==0.8.2
- autogluon-core==0.8.2
- autogluon-features==0.8.2
- autogluon-tabular==0.8.2
- blessed==1.20.0
- blis==0.7.10
- boto3==1.28.30
- botocore==1.31.30
- cachetools==5.3.1
- catalogue==2.0.9
- catboost==1.2
- certifi==2023.7.22
- charset-normalizer==3.2.0
- click==8.1.7
- cloudpickle==2.2.1
- colorful==0.5.5
- confection==0.1.1
- contourpy==1.1.0
- cycler==0.11.0
- cymem==2.0.7
- descriptastorus==2.6.1
- dimorphite-dl==1.3.2
- distlib==0.3.7
- fastai==2.7.12
- fastcore==1.5.29
- fastdownload==0.0.7
- fastprogress==1.0.3
- filelock==3.12.2
- fonttools==4.42.1
- frozenlist==1.4.0
- future==0.18.3
- google-api-core==2.11.1
- google-auth==2.22.0
- googleapis-common-protos==1.60.0
- gpustat==1.1
- grpcio==1.50.0
- hyperopt==0.2.7
- idna==3.4
- importlib-resources==6.0.1
- jinja2==3.1.2
- jmespath==1.0.1
- joblib==1.3.2
- jsonschema==4.19.0
- jsonschema-specifications==2023.7.1
- kiwisolver==1.4.4
- langcodes==3.3.0
- lightgbm==3.3.5
- markupsafe==2.1.3
- matplotlib==3.7.2
- molvs==0.1.1
- msgpack==1.0.5
- multidict==6.0.4
- murmurhash==1.0.9
- networkx==3.1
- numpy==1.25.2
- nvidia-cublas-cu11==11.10.3.66
- nvidia-cuda-nvrtc-cu11==11.7.99
- nvidia-cuda-runtime-cu11==11.7.99
- nvidia-cudnn-cu11==8.5.0.96
- nvidia-ml-py==12.535.77
- opencensus==0.11.2
- opencensus-context==0.1.3
- packaging==23.1
- pandas==1.5.3
- pandas-flavor==0.6.0
- pathy==0.10.2
- pillow==10.0.0
- platformdirs==3.10.0
- plotly==5.16.1
- preshed==3.0.8
- prometheus-client==0.17.1
- protobuf==4.24.1
- psutil==5.9.5
- py-spy==0.3.14
- py4j==0.10.9.7
- pyasn1==0.5.0
- pyasn1-modules==0.3.0
- pydantic==1.10.12
- pyparsing==3.0.9
- pyside6==6.5.2
- pyside6-addons==6.5.2
- pyside6-essentials==6.5.2
- python-dateutil==2.8.2
- python-graphviz==0.20.1
- pytz==2023.3
- pyyaml==6.0.1
- ray==2.3.1
- rdkit==2023.3.3
- referencing==0.30.2
- requests==2.31.0
- rpds-py==0.9.2
- rsa==4.9
- s3transfer==0.6.2
- scikit-learn==1.2.2
- scipy==1.11.2
- shiboken6==6.5.2
- six==1.16.0
- smart-open==6.3.0
- spacy==3.6.1
- spacy-legacy==3.0.12
- spacy-loggers==1.0.4
- srsly==2.4.7
- tabulate==0.9.0
- tenacity==8.2.3
- tensorboardx==2.6.2.2
- thinc==8.1.12
- threadpoolctl==3.2.0
- torch==1.13.1
- torchvision==0.14.1
- tqdm==4.66.1
- typer==0.9.0
- typing-extensions==4.7.1
- urllib3==1.26.16
- virtualenv==20.24.3
- wasabi==1.1.2
- wcwidth==0.2.6
- xarray==2023.8.0
- xgboost==1.7.6
- yarl==1.9.2
- zipp==3.16.2
我检查了频道和软件包,发现可用频道内所有软件包都有版本。但是,我不确定不同软件包中是否有不同的文件版本。
我也尝试更改子目录以确保 conda 使用了 Windows 版本的文件,但得到了相同的结果。
conda config --env --set subdir win-64
此外,我还添加了 conda-forge/broken/label 通道,但结果相同。我还切换了 environment.yml 文件,使每个数字后面都有星号,但这也不起作用。
该软件包的作者在提供可移植环境 yml 文件方面做得不好:
构建字符串(如
=h06a4308_0
)依赖于平台并特定于某个特定的构建,因此,除非您与创建该文件的人使用相同的操作系统且没有软件包维护者重新打包他们的软件包并为其提供新的构建字符串,否则您通常无法重新创建这样的开箱即用的环境。类似这样的要求
ncurses
在Windows 上根本不适用(请参阅平台标签,仅列出 Linux 和 MacOS)我相当肯定,该程序的开发人员实际上并不是说他们的软件只有在您重新创建这个非常精确的环境时才能运行,但他们也没有在可移植性方面投入太多精力。他们在 README 中也没有明确说明要求:
您应该在他们的 github 上创建一个问题,要求他们提供一个仅包含他们所依赖的实际包及其版本要求的 yml 文件。
与此同时,如果我是你,你可以从 yml 文件的最小版本开始,创建环境,尝试运行软件,识别缺少的需求,将它们添加到 yml 文件中,重新创建环境,...重复直到成功。一个好的起点可以是他们发布的要求: