Estou tentando executar comandos de um aplicativo python do Windows PowerShell. Tentei seguir o tutorial para configurar o ambiente conforme descrito na página do GitHub, mas tive problemas com um "PackagesNotFoundError" e muitos pacotes estão faltando.
O comando que dá o erro é:
$ conda env create -f environment.yml
Esta é a mensagem de erro que recebo.
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.
Por fim, este é o arquivo .yml para configurar o ambiente.
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
Verifiquei os canais e pacotes e encontrei versões de todos os pacotes dentro dos canais disponíveis. No entanto, não tenho certeza se há versões de arquivos diferentes que estejam disponíveis em outros lugares de pacotes diferentes.
Também tentei alterar o subdiretório para garantir que o conda usasse a versão do Windows dos arquivos, mas obtive o mesmo resultado.
conda config --env --set subdir win-64
Além disso, também adicionei o canal conda-forge/broken/label, mas isso produziu os mesmos resultados. Também fui e troquei o arquivo environment.yml para ter asteriscos depois de cada número, mas isso também não funcionou.
os autores desse pacote não fizeram um bom trabalho ao fornecer um arquivo yml de ambiente portátil:
As sequências de construção (como
=h06a4308_0
) dependem da plataforma e são específicas para uma construção muito particular, então, a menos que você tenha o mesmo sistema operacional da pessoa que criou o arquivo e nenhum mantenedor de pacote tenha reempacotado seus pacotes, fornecendo a eles novas sequências de construção, geralmente você não conseguirá recriar esse ambiente imediatamente.Existem requisitos como
ncurses
esses que simplesmente não estão disponíveis no Windows (veja as tags da plataforma, listando apenas Linux e macOS)Estou bastante certo de que os desenvolvedores do programa não queriam dizer que o software deles roda somente se você recriar esse env exato, mas eles também não se esforçaram muito em portabilidade. Eles também não são muito específicos sobre os requisitos no README:
Você deve criar um problema no github deles, solicitando um arquivo yml que contenha apenas os pacotes reais dos quais eles dependem com requisitos de versão.
Enquanto isso, se eu fosse você, você poderia começar com uma versão mínima do arquivo yml, criar o env, tentar executar o software, identificar os requisitos ausentes, adicioná-los ao arquivo yml, recriar o env, .... repetir até obter sucesso. Um bom ponto de partida pode ser os requisitos que eles postaram: