最近、Anacondaを使用して私のプログラムの1つにPyPdf2をインストールする必要がありました。残念ながら、私は失敗しましたが、Anaconda環境に追加されたURLは、すべてのCondaライブラリの更新を禁止しています。 anacondaを更新しようとするたびに、次のようになります。
conda update conda
Using Anaconda Cloud api site https://api.anaconda.org
Fetching package metadata ..........Error: Invalid index file: https://pypi.python.org/pypi/PyPDF2/1.26.0/win-64/repodata.json: No JSON object could be decoded
コマンドconda infoを入力して、エラーの原因を確認しました。PyPdf2を指すURLがたくさん見つかりました。
単純に、anacondaのチャンネルURLからこれらすべてのURLを削除したいのですが、どうすればいいですか?手動でも自動でも。
注:Anacondaをアンインストールして再インストールしましたが、運はありません!
C:\WINDOWS\system32>conda info
Using Anaconda Cloud api site https://api.anaconda.org
Current conda install:
platform : win-64
conda version : 4.1.6
conda-env version : 2.5.1
conda-build version : 1.21.3
python version : 2.7.12.final.0
requests version : 2.10.0
root environment : C:\Anaconda2 (writable)
default environment : C:\Anaconda2
envs directories : C:\Anaconda2\envs
package cache : C:\Anaconda2\pkgs
channel URLs : https://pypi.python.org/pypi/PyPDF2/1.26.0/win-64/
https://pypi.python.org/pypi/PyPDF2/1.26.0/noarch/
https://conda.anaconda.org/C:\Python27\Lib\site-packages\PyPDF2/win-64/
https://conda.anaconda.org/C:\Python27\Lib\site-packages\PyPDF2/noarch/
https://conda.anaconda.org/X:\Downloads\Compressed\PyPDF2-master\/win-64/
https://conda.anaconda.org/X:\Downloads\Compressed\PyPDF2-master\/noarch/
https://github.com/mstamy2/PyPDF2/zipball/master/win-64/
https://github.com/mstamy2/PyPDF2/zipball/master/noarch/
https://pypi.python.org/pypi/PyPDF2/win-64/
https://pypi.python.org/pypi/PyPDF2/noarch/
https://pythonhosted.org/PyPDF2/win-64/
https://pythonhosted.org/PyPDF2/noarch/
https://github.com/mstamy2/PyPDF2/win-64/
https://github.com/mstamy2/PyPDF2/noarch/
https://repo.continuum.io/pkgs/free/win-64/
https://repo.continuum.io/pkgs/free/noarch/
https://repo.continuum.io/pkgs/pro/win-64/
https://repo.continuum.io/pkgs/pro/noarch/
config file : C:\Users\Dr. Mohammad Elnesr\.condarc
offline mode : False
is foreign system : False
Mohammedの answer を展開します。
conda info
に表示されるURLはすべて、チャンネルのURLです。これらはcondaがパッケージを探す場所です。 @celで述べたように、これらのチャネルはホームディレクトリの.condarc
ファイルにあります。
.condarc
コマンドを使用して、conda config
ファイル内のチャネルおよびその他のデータと対話できます。たとえば、.condarc
ファイルに次のチャネルがリストされているとします。
channels:
- https://github.com/mstamy2/PyPDF2/
- defaults
次に、conda config --get channels
を実行すると、返されます:
--add channels 'defaults' # lowest priority
--add channels 'https://github.com/mstamy2/PyPDF2/' # highest priority
Githubチャネルを削除する場合は、conda config --remove channels 'https://github.com/mstamy2/PyPDF2/'
を実行します。 --add
コマンドを使用してチャネルを追加することもできます。たとえば、conda config --add channels 'https://github.com/mstamy2/PyPDF2/'
を使用してそのチャネルを追加し直すことができます。
この場合、削除するチャネルがいくつかあるため、.condarc
を直接編集する方が簡単かもしれませんが、conda config
を使用して行う方法を知っておくと便利です。
私の答えが、Mac OS端末を使用している他の誰かの助けになることを願っています。誤って「new_channel」をチャンネルリストに追加しましたが、削除する方法がわかりませんでした。また、.condarcファイルが見つかりませんでした(誰かが私を啓発してくれるかもしれません)が、これを完了するために端末を使用することができました。
Condaには2種類の「チャンネル」があります。 1つはチャネルで、もう1つはチャネルURLです。チャンネルURLを削除しようとしている場合、次を使用して削除することはできません。
conda config --remove channels
元々conda info
そして、以下を見ました:
チャンネルURL:
https://repo.anaconda.com/pkgs/pro/osx-64
https://repo.anaconda.com/pkgs/pro/noarch
https://conda.anaconda.org/new_channel/osx-64
https://conda.anaconda.org/new_channel/noarch
だから、次のように入力することを考えていました。
conda config --remove channels https://conda.anaconda.org/new_channel/osx-64
これは動作しません。
次のように入力する必要があります。
conda config --show channels
チャンネルが表示されます:
チャンネル:
デフォルト
new_channel
これで、チャンネルの名前がわかりました。 new_channelと呼ばれます(明らかなように思えるかもしれませんが、初心者にはわかりません)。
次のように入力します:
conda config --remove channels new_channel
ブーム、new_channel URLはすべてなくなりました。
OPの場合、彼のチャンネルはおそらくPyPdf2と呼ばれていました。
したがって、ターミナルに入力する正しいコードは次のとおりです。
conda config --remove channels PyPdf2
もう一度、チャンネルURLを削除しようとしないでください。チャンネル自体を削除してください。