python - ¿Cómo puedo eliminar un canal de URL de Anaconda?
channel pypdf2 (3)
Recientemente necesité instalar PyPdf2 en uno de mis programas usando Anaconda. Desafortunadamente, fallé, pero las URL que se agregaron al entorno de Anaconda prohíben las actualizaciones de todas las bibliotecas de Conda. Cada vez que trato de actualizar anaconda da lo siguiente.
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
Escribí el comando conda info para ver qué causa el error, ¡encontré muchas URL que apuntan a PyPdf2!
Simplemente, quiero eliminar todas estas URL de las URL del canal de anaconda. ¿Cómo puedo hacerlo? No importa de forma manual o automática.
Nota: He desinstalado Anaconda y reinstalo, ¡pero no tuve suerte!
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
Afortunadamente, encontré la respuesta (gracias a @cel también).
Navegué a C:/Users/{MyUserName}/
Luego encontré un archivo sin nombre pero tiene una extensión extraña ( .condarc
) Lo abrí con Notepad ++, encontré los archivos como se muestra a continuación>
Luego borré todas las líneas excepto la última, conda update conda
el archivo, luego ejecuté el comando conda update conda
, y funciona sin errores.
Ampliando la answer de Mohammed.
Todas las URL que ves en la conda info
tu conda info
son las URL de tu canal. Aquí es donde Conda buscará los paquetes. Como lo señaló @cel, estos canales se pueden encontrar en el archivo .condarc
en su directorio de inicio.
Puede interactuar con los canales y otros datos en su archivo .condarc
con el comando conda config
. Por ejemplo, digamos que su archivo .condarc
enumera los siguientes canales:
channels:
- https://github.com/mstamy2/PyPDF2/
- defaults
Luego, si hacemos conda config --get channels
, veremos devueltos:
--add channels ''defaults'' # lowest priority
--add channels ''https://github.com/mstamy2/PyPDF2/'' # highest priority
Si luego queremos eliminar el canal github, haríamos conda config --remove channels ''https://github.com/mstamy2/PyPDF2/''
. También puede agregar canales a través del comando --add
, por ejemplo, podríamos volver a agregar ese canal con conda config --add channels ''https://github.com/mstamy2/PyPDF2/''
.
En este caso, dado que había varios canales para eliminar, probablemente era más rápido simplemente editar el .condarc
directamente, pero es útil saber cómo hacerlo a través de conda config
.
Espero que mi respuesta ayude a alguien más utilizando el terminal Mac OS. Accidentalmente agregué "new_channel" a mi lista de canales y no pude averiguar cómo eliminarlo. Tampoco pude encontrar el archivo .condarc (tal vez alguien me ilumine, por favor) pero pude usar el terminal para completar esto.
Hay dos tipos de "canales" en Conda. Uno es el canal y el otro es la URL del canal. Si está intentando eliminar la URL del canal, no puede eliminarla usando:
conda config --remove channels
Originalmente conda info
y vi lo siguiente:
URL del canal:
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
Así que estaba pensando, bueno, déjame escribir lo siguiente.
conda config --remove channels https://conda.anaconda.org/new_channel/osx-64
ESTO NO FUNCIONA.
Lo que tienes que hacer es escribir lo siguiente:
conda config --show channels
Verás tus canales:
canales
por defecto
nuevo canal
Ahora sabes cómo se llama tu canal. Se llama new_channel (puede parecer obvio, pero a veces no para nosotros los principiantes).
Así que escribe:
conda config --remove channels new_channel
Y boom, todas las URL de new_channel se han ido.
En el caso de OP, su canal probablemente fue llamado PyPdf2
Así que el código correcto para escribir en la Terminal es:
conda config --remove channels PyPdf2
OTRA VEZ, NO TRATE DE BORRAR LA URL DEL CANAL. ASEGÚRESE DE BORRAR EL CANAL EN SÍ MISMO.