我正在尝试从 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)
我相当确定该程序的开发人员实际上并不意味着他们的软件只有在您重新创建这个非常精确的环境时才能运行,但他们也没有在可移植性上投入太多精力。他们对自述文件中的要求也不是很具体:
基本要求是Python>=3.8、pytorch>=1.13.1和autogluon>=0.8.2,其他软件包包括rdkit、molvs、descriptastorus、dimorphite-dl、openpyxl等等。
您应该在他们的 github 上创建一个问题,要求他们提供一个 yml 文件,该文件仅包含他们所依赖的实际包以及版本要求。
同时,如果我是你,你可以从最小版本的 yml 文件开始,创建 env,尝试运行软件,识别缺少的需求,将它们添加到 yml 文件,重新创建 env,...重复直到成功。一个好的起点可以是他们发布的要求:
name: automoldesigner
channels:
- defaults
- pytorch
- nvidia
dependencies:
- python=3.9.16
- pytorch==1.13.1
- torchvision==0.14.1
- torchaudio==0.13.1
- pytorch-cuda=11.6
- pip:
- autogluon==0.8.2
- rdkit==2023.3.3
- molvs==0.1.1
- descriptastorus==2.6.1
- dimorphite-dl==1.3.2
- openpyxl