簡體   English   中英

如何在使用 pip 安裝的 Anaconda 中卸載軟件包

[英]How to uninstall package in Anaconda installed with pip

問題:

我已經安裝了 Anaconda:

conda -V
conda 4.4.7

我還使用python3 setup.py install為它安裝了很多軟件包。 我將它用於從setup.py文件創建的一些包。

現在我想卸載一個包。

我試過的:

pip uninstall packageName
pip3 uninstall packageName
conda uninstall packageName

它適用於 python:檢查pip listpip3 list並且沒有這樣的包。

錯誤:

但是對於 conda 我得到了這個:

conda uninstall packageName
Solving environment: failed

PackagesNotFoundError: The following packages are missing from the target environment:
  - packageName

讓我們檢查一下:

conda list
packageName

PS 我發現conda uninstallconda remove在這種情況下不起作用的信息。 但那該怎么辦呢?

PSS 實際上,我在packageName處更改了真實的包名,但如果此信息很重要,我會添加它。


我的信息:

conda info

     active environment : None
       user config file : /home/masamok4/.condarc
 populated config files : /home/masamok4/anaconda3/.condarc
                          /home/masamok4/.condarc
          conda version : 4.4.7
    conda-build version : 3.0.27
         python version : 3.6.3.final.0
       base environment : /home/masamok4/anaconda3  (writable)
           channel URLs : https://conda.anaconda.org/conda-forge/linux-64
                          https://conda.anaconda.org/conda-forge/noarch
                          https://repo.continuum.io/pkgs/main/linux-64
                          https://repo.continuum.io/pkgs/main/noarch
                          https://repo.continuum.io/pkgs/free/linux-64
                          https://repo.continuum.io/pkgs/free/noarch
                          https://repo.continuum.io/pkgs/r/linux-64
                          https://repo.continuum.io/pkgs/r/noarch
                          https://repo.continuum.io/pkgs/pro/linux-64
                          https://repo.continuum.io/pkgs/pro/noarch
          package cache : /home/masamok4/anaconda3/pkgs
                          /home/masamok4/.conda/pkgs
       envs directories : /home/masamok4/anaconda3/envs
                          /home/masamok4/.conda/envs
               platform : linux-64
             user-agent : conda/4.4.7 requests/2.18.4 CPython/3.6.3 Linux/4.4.0-87-generic ubuntu/16.04 glibc/2.23
                UID:GID : 1003:1003
             netrc file : None
           offline mode : False

你可以使用 Jupyter Notebook 來解​​決這個問題:

  • 打開 Jupyter Notebook
  • 用正確的內核打開一個新筆記本
  • 在代碼單元中輸入!pip uninstall -y [package]
  • 運行單元格代碼

如果您使用setup.py安裝包,那么您很可能必須手動刪除包文件。

您會發現卸載 setup.py 安裝wiki 很有用。 Unix 指令引用如下:

sudo python setup.py install --record files.txt
# inspect files.txt to make sure it looks ok. Then in bash:
tr '\n' '\0' < files.txt | xargs -0 sudo rm -f --

在 conda 環境中使用 pip 時必須小心,無論是安裝還是卸載軟件包。 對我有用的是基於https://stackoverflow.com/a/43729857/1047213

  1. 安裝pip通過運行特定於暢達環境conda install pip的暢達環境中。
  2. 在安裝或卸載軟件包時指定該特定pip的完整路徑。 通常,您會在虛擬環境的bin文件夾中找到它(例如, /anaconda/envs/venv_name/bin/ )。 因此,以下對我/anaconda/envs/venv_name/bin/pip install_or_uninstall package_name/anaconda/envs/venv_name/bin/pip install_or_uninstall package_name

在 conda 環境中卸載所有 pypi 包的最佳方法絕對是:

conda activate <your-env>
conda list | awk '/pypi/ {print $1}' | xargs pip uninstall -y

如下面詳述的conda uninstall -h所示,

--force-remove, --force
                        Forces removal of a package without removing packages
                        that depend on it. Using this option will usually
                        leave your environment in a broken and inconsistent
                        state.

所以,我認為你的特定包packageName沒有安裝好。 也就是它的依賴包沒有安裝好,所以要卸載packageName 此外, conda uninstall packageName失敗,您可以嘗試

conda uninstall packageName --force

,其用法與pip uninstall packageNamepip3 uninstall packageName 那就是“刪除一個包而不刪除依賴它的包”。

希望它對你有用。

暫無
暫無

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

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