簡體   English   中英

PackagesNotFoundError:以下軟件包在當前頻道中不可用,添加 conda-forge 頻道后?

[英]PackagesNotFoundError: The following packages are not available from current channels, AFTER adding conda-forge channel?

即使按照此處的建議添加了 conda forge 通道:

PackagesNotFoundError:當前頻道不提供以下軟件包:

Conda 仍然無法在 requirements.txt 文件中安裝許多包:

conda install --file pip_requirements/requirements.txt 
Collecting package metadata (current_repodata.json): done
Solving environment: failed with initial frozen solve. Retrying with flexible solve.
Collecting package metadata (repodata.json): done
Solving environment: failed with initial frozen solve. Retrying with flexible solve.

PackagesNotFoundError: The following packages are not available from current channels:

  - prompt-toolkit==1.0.16
  - torch==1.0.0
  - chainer==2.0.1
  - ipython-genutils==0.2.0
  - gym==0.9.2
  - lief
  - chainerrl==0.2.0

Current channels:

  - https://conda.anaconda.org/conda-forge/linux-64
  - https://conda.anaconda.org/conda-forge/noarch
  - https://repo.anaconda.com/pkgs/main/linux-64
  - https://repo.anaconda.com/pkgs/main/noarch
  - https://repo.anaconda.com/pkgs/r/linux-64
  - https://repo.anaconda.com/pkgs/r/noarch

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.

如果 conda 甚至找不到像 TORCH 這樣流行的 package 有什么用?!

也試過用 pipenv 安裝,那也沒有用..

pipenv install -r pip_requirements/requirements.txt 
Creating a virtualenv for this project…
Using /usr/bin/python3 (3.8.5) to create virtualenv…
⠋ModuleNotFoundError: No module named 'virtualenv.seed.via_app_data'
Error while trying to remove the /home/Johnny/.local/share/virtualenvs/myproject-uxejE6Q_ env: 
No such file or directory

Virtualenv location: 
Creating a Pipfile for this project…
Requirements file provided! Importing into Pipfile…
Creating a virtualenv for this project…
Using /usr/bin/python3 (3.8.5) to create virtualenv…
⠙ModuleNotFoundError: No module named 'virtualenv.seed.via_app_data'
Error while trying to remove the /home/Johnny/.local/share/virtualenvs/myproject-uxejE6Q_ env: 
No such file or directory

Virtualenv location: 
Pipfile.lock not found, creating…
Locking [dev-packages] dependencies…
Locking [packages] dependencies…

Warning: Your dependencies could not be resolved. You likely have a mismatch in your sub-dependencies.
  You can use $ pipenv install --skip-lock to bypass this mechanism, then run $ pipenv graph to inspect the situation.
Could not find a version that matches Pygments<3.0.0,==2.4.2,>=2.6.0
Tried: 0.5, 0.5.1, 0.6, 0.7, 0.7.1, 0.8, 0.8.1, 0.9, 0.10, 0.11, 0.11.1, 1.0, 1.1, 1.1.1, 1.2, 1.2.1, 1.2.2, 1.3, 1.3.1, 1.4, 1.5, 1.6rc1, 1.6, 2.0rc1, 2.0rc1, 2.0rc1, 2.0, 2.0, 2.0, 2.0.1, 2.0.1, 2.0.1, 2.0.2, 2.0.2, 2.0.2, 2.1, 2.1, 2.1, 2.1.1, 2.1.1, 2.1.2, 2.1.2, 2.1.3, 2.1.3, 2.2.0, 2.2.0, 2.3.0, 2.3.0, 2.3.1, 2.3.1, 2.4.0, 2.4.0, 2.4.1, 2.4.1, 2.4.2, 2.4.2, 2.5.1, 2.5.1, 2.5.2, 2.5.2, 2.6.0, 2.6.0, 2.6.1, 2.6.1, 2.7.0, 2.7.0, 2.7.1, 2.7.1, 2.7.2, 2.7.2

有幾個問題:

  1. 舊包 其中一些軟件包可通過默認conda-forge渠道獲得,但您請求的版本相當舊。 如果你必須有這樣的舊版本,然后切換到使用 YAML ,並包括pip:部分從 PyPI 安裝它們。

  2. Package 命名 不幸的是,對於 Conda package 命名沒有統一的強制執行策略,而且由於 Conda 支持比 PyPI 更廣泛的語言庫,因此不可避免地存在命名沖突。 一種常見但未被普遍采用的命名策略是<language>-<package> ,對於 Python 通常是 py- py-<package> 我懷疑lief就是其中之一,即您實際上想要py-lief

  3. 專業頻道 不是每個 package 維護者都采用了 Conda Forge,PyTorch 是關鍵。 如果您需要 PyTorch 包,則需要pytorch通道

總的來說,請注意您正在切換到一個新的生態系統,它並不完美,有時甚至不合理。 不幸的是,沒有簡單的pip freeze到 conda conda install工作流,它從 Conda 獲取所有包。

有一個例外,那就是根本不使用 Conda package 管理,而僅將其用於環境創建、隔離和激活。 這樣做會犧牲 Conda 提供的所有冗余減少和深度依賴解決方案,但我認為對於現有的基於 PyPI 的安裝的快速而骯臟的重新創建它可能有時間和地點。

否則,我建議在安裝新的 package 之前先搜索 Anaconda Cloud ,以確保描述與實際想要安裝的內容相符。

要安裝 PyTorch,只需在 shell 中嘗試此命令

conda install -c pytorch pytorch

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM