Récemment, j'ai eu besoin d'installer PyPdf2 sur l'un de mes programmes en utilisant Anaconda. Malheureusement, j'ai échoué, mais les URL qui ont été ajoutées à l'environnement Anaconda interdisent les mises à jour de toutes les bibliothèques Conda . Chaque fois que j'ai essayé de mettre à jour anaconda, les informations suivantes sont fournies
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
J'ai tapé la commande conda info pour voir la cause de l'erreur, j'ai trouvé beaucoup d'URL pointant vers PyPdf2!
Simplement, je veux supprimer toutes ces URL de l'URL du canal de anaconda. Comment puis-je le faire? Peu importe manuellement ou automatiquement.
Remarque: j'ai désinstallé Anaconda et l'ai réinstallé, mais pas de chance!
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
Développer sur le réponse de Mohammed.
Toutes les URL que vous voyez dans votre conda info
sont les URL de votre canal. C’est là que conda cherchera des paquets. Comme indiqué par @cel, ces canaux se trouvent dans le fichier .condarc
de votre répertoire personnel.
Vous pouvez interagir avec les canaux et d'autres données de votre fichier .condarc
à l'aide de la commande conda config
. Par exemple, supposons que votre fichier .condarc
répertorie les canaux suivants:
channels:
- https://github.com/mstamy2/PyPDF2/
- defaults
Alors si nous faisons conda config --get channels
nous verrons retourné:
--add channels 'defaults' # lowest priority
--add channels 'https://github.com/mstamy2/PyPDF2/' # highest priority
Si nous voulons ensuite supprimer le canal github, nous ferions conda config --remove channels 'https://github.com/mstamy2/PyPDF2/'
. Vous pouvez également ajouter des canaux à l'aide de la commande --add
. Par exemple, nous pourrions rajouter ce canal avec conda config --add channels 'https://github.com/mstamy2/PyPDF2/'
.
Dans ce cas, comme il y avait plusieurs canaux à supprimer, il était probablement plus rapide de modifier simplement le .condarc
mais il est utile de savoir comment le faire via conda config
.
Heureusement, j'ai trouvé la réponse (merci à @cel également).
J'ai navigué vers C:\Users\{MyUserName}\
Ensuite, j'ai trouvé un fichier sans nom mais ayant une extension étrange (.condarc
) Je l'ai ouvert avec Notepad ++, j'ai trouvé les fichiers comme suit>
Ensuite, j'ai supprimé toutes les lignes sauf la dernière, sauvegardé le fichier, puis exécuté la commande conda update conda
, et cela fonctionne sans erreur.
J'espère que ma réponse aidera quelqu'un d'autre à utiliser le terminal Mac OS. J'ai accidentellement ajouté "new_channel" à ma liste de chaînes et je ne savais pas comment le supprimer. Je ne pouvais pas non plus trouver le fichier .condarc (peut-être que quelqu'un m'éclairerait s'il vous plaît), mais j'ai pu utiliser le terminal pour le compléter.
Il y a deux types de "canaux" dans Conda. L'un est les canaux et l'autre, les URL des canaux. Si vous essayez de supprimer l'URL du canal, vous ne pouvez pas le supprimer en utilisant:
conda config --remove channels
A l'origine, j'ai tapé conda info
et j'ai vu ce qui suit:
uRL de la chaîne:
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
Alors je pensais, ok, laissez-moi simplement taper ce qui suit.
conda config --remove channels https://conda.anaconda.org/new_channel/osx-64
CELA NE FONCTIONNE PAS.
Ce que vous devez faire est de taper ce qui suit:
conda config --show channels
Vous verrez vos chaînes:
canaux:
défauts
new_channel
Maintenant, vous savez comment s'appelle votre chaîne. Cela s'appelle new_channel (peut sembler évident, mais parfois pas pour nous les débutants).
Donc vous tapez:
conda config --remove channels new_channel
Et boum, toutes les URL new_channel ont disparu.
Dans le cas d'OP, sa chaîne s'appelait probablement PyPdf2
Donc, le code correct à taper dans Terminal est:
conda config --remove channels PyPdf2
ENCORE, NE PAS ESSAYER DE SUPPRIMER L'URL DU CANAL. VÉRIFIEZ QUE VOUS SUPPRIMEZ LE CANAL.