Instalé python incrustado desde aquí , titulado "Archivo zip incrustable de Windows x86-64", pero no tiene pip instalado, tampoco tiene paquetes de sitio, cuando intento hacer python get-pip.py no se pudo ejecutar porque este archivo tiene import pip . Entonces, ¿cómo puedo instalar pip dentro de un entorno de python integrado?
Rastreo (última llamada más reciente): Archivo ".\getpip.py", línea 20061, en main() Archivo ".\getpip.py", línea 194, en main bootstrap(tmpdir=tmpdir) Archivo ".\getpip. py", línea 82, en bootstrap import pip File ", línea 961, en _find_and_load File "", línea 950, en _find_and_load_unlocked File ", línea 646, en _load_unlocked File ", línea 616, en _load_backward_compatible
La estructura del directorio es:
Directory: C:\Downloads\python-3.6.1rc1-embed-win32 Mode LastWriteTime Length Name ---- ------------- ------ ---- -a---- 3/4/2017 7:26 PM 157344 pyexpat.pyd -a---- 3/4/2017 7:26 PM 97952 python.exe -a---- 3/4/2017 7:26 PM 58016 python3.dll -a---- 3/4/2017 7:26 PM 3263648 python36.dll -a---- 3/4/2017 7:26 PM 2209284 python36.zip -a---- 3/4/2017 7:26 PM 79 python36._pth -a---- 3/4/2017 7:26 PM 96416 pythonw.exe -a---- 3/4/2017 7:26 PM 23200 select.pyd -a---- 3/4/2017 7:26 PM 866464 sqlite3.dll -a---- 3/4/2017 7:26 PM 895648 unicodedata.pyd -a---- 3/4/2017 7:26 PM 83784 vcruntime140.dll -a---- 3/4/2017 7:26 PM 24224 winsound.pyd -a---- 3/4/2017 7:26 PM 45216 _asyncio.pyd -a---- 3/4/2017 7:26 PM 77984 _bz2.pyd -a---- 3/4/2017 7:26 PM 101536 _ctypes.pyd -a---- 3/4/2017 7:26 PM 215712 _decimal.pyd -a---- 3/4/2017 7:26 PM 156832 _elementtree.pyd -a---- 3/4/2017 7:26 PM 1042592 _hashlib.pyd -a---- 3/4/2017 7:26 PM 183456 _lzma.pyd -a---- 3/4/2017 7:26 PM 32416 _msi.pyd -a---- 3/4/2017 7:26 PM 25760 _multiprocessing.pyd -a---- 3/4/2017 7:26 PM 33952 _overlapped.pyd -a---- 3/4/2017 7:26 PM 61600 _socket.pyd -a---- 3/4/2017 7:26 PM 64160 _sqlite3.pyd -a---- 3/4/2017 7:26 PM 1458848 _ssl.pydIncluso si se indica explícitamente que la versión integrable de Python no es compatible con Pip , es posible con cuidado. Necesitas:
Descargue y descomprima el archivo zip integrable de Python.
En el archivo python39._pth o similar, descomente el comando de import . El resultado debe ser similar a esto:
python39.zip . import siteDescargue get-pip.py en la carpeta de instalación de Python
Ejecute get-pip.py . esto instala Pip en el directorio de Scripts :
python get-pip.pyEjecute Pip directamente desde la línea de comandos, ya que Pip es un programa ejecutable (este ejemplo es para instalar Pandas):
.\Scripts\pip install pandasPuede encontrar más información sobre esto en el número 4207 de Pip
cómo instalé pip en una distribución de python integrable:
python ./get-pip.py (tengo aquí )import site de cadenas dentro del archivo pythonXX._pth O copie las carpetas (al menos pip) de la carpeta recién creada Lib/site-packages/ en pythonXX.zip ahora es posible python -m pip ...
Recientemente me encontré con el mismo problema. Revisé la documentación de pip y parece que dicen que este caso de uso no es compatible, etc. Pero de todos modos, aquí está mi truco para hacer que los módulos funcionen.
Instalé, y con eso me refiero a descomprimir python incrustado en un directorio llamado d:\python. Asumí que los módulos vivirán en ese mismo directorio.
Primero, para instalar el módulo pip, necesitaba guardar los archivos extraídos. Cambié get-pip.py con un editor de texto compatible con los terminadores de línea de Unix eliminando las líneas rmtree que eliminan el árbol temporal y desempaquetado del blob contenido en el archivo get-pip.py.
Cambié ambas ubicaciones, pero solo se necesitaba la última. La línea que cambié en dos lugares dice
shutil.rmtree(tmpdir, ignore_errors=True)y lo modifiqué así (no quería molestarme con los bloques de sangría de Python):
print('shutil.rmtree(tmpdir, ignore_errors=True)')Ahora ejecuté mi python D:\python\python.exe en get-pip.py modificado y encontré el directorio temporal donde se descomprimieron los archivos.
Copié este directorio (verifique que contenga un archivo principal .py) en la instalación de python D:\python\pip (aquí es donde quería que vivieran mis módulos), asegurándome de que el directorio D:\python\pip contuviera el archivo principal .py.
El módulo pip ahora está instalado en el directorio de python, pero necesita piratear más pip para eliminar la excepción anterior. Hice esto cambiando el archivo ubicaciones.py (en mi caso ubicado en D:\python\pip\locations.py) para devolver las ubicaciones bin_py y bin_user de D:\python.
es decir:
86 if WINDOWS: .... bin_py = 'd:/python' bin_user = 'd:/python'Tuve que cambiar el user_dir para pip a algún lugar que persistiera en esta unidad que se compartió en varias máquinas virtuales.
El módulo pip ahora funciona bien, por ejemplo
d:\python\python.exe -m pip...