No se puede instalar el paquete python con pip, es necesario obtener Microsoft Visual C ++ 14.0

Estoy tratando de instalar pyjks . Estoy ejecutando todo en el símbolo del sistema de administración. El bash inicial de instalar pyjks resultó en esto:

C:\WINDOWS\system32>pip install pyjks Collecting pyjks Collecting pycryptodome (from pyjks) Using cached https://files.pythonhosted.org/packages/82/bd/bd192c1314bde108a91295fbec02bc20a816330feb10273aa36d885004ab/pycryptodome-3.6.1-cp36-cp36m-win_amd64.whl Collecting pyasn1-modules (from pyjks) Using cached https://files.pythonhosted.org/packages/e9/51/bcd96bf6231d4b2cc5e023c511bee86637ba375c44a6f9d1b4b7ad1ce4b9/pyasn1_modules-0.2.1-py2.py3-none-any.whl Collecting pyasn1 (from pyjks) Using cached https://files.pythonhosted.org/packages/a0/70/2c27740f08e477499ce19eefe05dbcae6f19fdc49e9e82ce4768be0643b9/pyasn1-0.4.3-py2.py3-none-any.whl Collecting twofish (from pyjks) Using cached https://files.pythonhosted.org/packages/82/b4/9eb026a8e62a04512435d3de25c93f7bda51c8b8c7991c1c0be70b5115a6/twofish-0.3.0.tar.gz Collecting javaobj-py3 (from pyjks) Using cached https://files.pythonhosted.org/packages/6a/7d/1979d67bb8f6c5babb8dda0cb79d6d4663ef9a039c193b5adcc787a86285/javaobj_py3-0.2.4-py2.py3-none-any.whl Installing collected packages: pycryptodome, pyasn1, pyasn1-modules, twofish, javaobj-py3, pyjks Running setup.py install for twofish ... error Complete output from command "c:\program files\python36\python.exe" -u -c "import setuptools, tokenize;__file__='C:\\Users\\crrma\\AppData\\Local\\Temp\\pip-install-xlk00hde\\twofish\\setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record C:\Users\crrma\AppData\Local\Temp\pip-record-5jn53157\install-record.txt --single-version-externally-managed --compile: running install running build running build_py creating build creating build\lib.win-amd64-3.6 copying twofish.py -> build\lib.win-amd64-3.6 running build_ext building '_twofish' extension error: Microsoft Visual C++ 14.0 is required. Get it with "Microsoft Visual C++ Build Tools": http://landinghub.visualstudio.com/visual-cpp-build-tools ---------------------------------------- Command ""c:\program files\python36\python.exe" -u -c "import setuptools, tokenize;__file__='C:\\Users\\crrma\\AppData\\Local\\Temp\\pip-install-xlk00hde\\twofish\\setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record C:\Users\crrma\AppData\Local\Temp\pip-record-5jn53157\install-record.txt --single-version-externally-managed --compile" failed with error code 1 in C:\Users\crrma\AppData\Local\Temp\pip-install-xlk00hde\twofish\ 

Instalé Visual C ++ 14.0 desde aquí y traté de reinstalar. Pero tiene el mismo error.

Así que como sugerí en varios comentarios en esta página , actualicé setuptools:

 C:\WINDOWS\system32>pip install --upgrade setuptools Collecting setuptools Using cached https://files.pythonhosted.org/packages/7f/e1/820d941153923aac1d49d7fc37e17b6e73bfbd2904959fffbad77900cf92/setuptools-39.2.0-py2.py3-none-any.whl Installing collected packages: setuptools Found existing installation: setuptools 39.0.1 Uninstalling setuptools-39.0.1: Successfully uninstalled setuptools-39.0.1 Successfully installed setuptools-39.2.0 

Pero sigue recibiendo el mismo error. Así que como sugerí en la misma página , descargué tar.gz desde aquí y lo instalé:

 C:\Users\crrma\Downloads>pip install pyjks-17.1.1.tar.gz Processing c:\users\crrma\downloads\pyjks-17.1.1.tar.gz Requirement already satisfied: pyasn1 in c:\program files\python36\lib\site-packages (from pyjks==17.1.1) (0.4.3) Requirement already satisfied: pyasn1_modules in c:\program files\python36\lib\site-packages (from pyjks==17.1.1) (0.2.1) Collecting javaobj-py3 (from pyjks==17.1.1) Using cached https://files.pythonhosted.org/packages/6a/7d/1979d67bb8f6c5babb8dda0cb79d6d4663ef9a039c193b5adcc787a86285/javaobj_py3-0.2.4-py2.py3-none-any.whl Requirement already satisfied: pycryptodome in c:\program files\python36\lib\site-packages (from pyjks==17.1.1) (3.6.1) Collecting twofish (from pyjks==17.1.1) Using cached https://files.pythonhosted.org/packages/82/b4/9eb026a8e62a04512435d3de25c93f7bda51c8b8c7991c1c0be70b5115a6/twofish-0.3.0.tar.gz Installing collected packages: javaobj-py3, twofish, pyjks Running setup.py install for twofish ... error Complete output from command "c:\program files\python36\python.exe" -u -c "import setuptools, tokenize;__file__='C:\\Users\\crrma\\AppData\\Local\\Temp\\pip-install-c3n_0udc\\twofish\\setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record C:\Users\crrma\AppData\Local\Temp\pip-record-tpgigq69\install-record.txt --single-version-externally-managed --compile: running install running build running build_py creating build creating build\lib.win-amd64-3.6 copying twofish.py -> build\lib.win-amd64-3.6 running build_ext building '_twofish' extension error: Microsoft Visual C++ 14.0 is required. Get it with "Microsoft Visual C++ Build Tools": http://landinghub.visualstudio.com/visual-cpp-build-tools ---------------------------------------- Command ""c:\program files\python36\python.exe" -u -c "import setuptools, tokenize;__file__='C:\\Users\\crrma\\AppData\\Local\\Temp\\pip-install-c3n_0udc\\twofish\\setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record C:\Users\crrma\AppData\Local\Temp\pip-record-tpgigq69\install-record.txt --single-version-externally-managed --compile" failed with error code 1 in C:\Users\crrma\AppData\Local\Temp\pip-install-c3n_0udc\twofish\ 

Pero simplemente no se instala. ¿Qué está mal aquí?

Estoy ejecutando la última versión de python:

 C:\>python Python 3.6.6rc1 (v3.6.6rc1:1015e38be4, Jun 12 2018, 08:38:06) [MSC v.1900 64 bit (AMD64)] on win32 

No pude arreglar esto. (Lo intenté instalando esto , pero no funcionó. Parece que lo que instalé es el tiempo de ejecución pero no el comstackdor y necesitamos instalar Visual Studio para instalar el comstackdor. No me sentía bien ejecutar la gran configuración de Visual Studio solo para instale un solo paquete de python.) En su lugar, recurrí a la configuración de cygwin (que es pequeño en comparación con Visual Studio y que ya estaba instalado en mi máquina). Intenté ejecutar pip3 install pyjks en el terminal cygwin, pero ahora me dio un error diciendo que no había encontrado gcc. Parece que de alguna manera algunas dependencias de pyjks necesitan ser comstackdas por el comstackdor de C. Así que instalé gcc en cygwin. Sin embargo, también estaba fallando. Así que instalé gcc utilizando apt-cyg . Todos los pasos se explican a continuación.

  1. Instalar cygwin
  2. En la configuración de cygwin, seleccione los paquetes python3, pip3 y gcc-g ++ en la ventana de selección de paquetes:

    • python3-devel: intérprete de lenguaje Py3K
    • python3-pip: herramienta de instalación de paquetes Python
    • gcc-core: GNU Compiler Collection (C, OpenMP)
    • gcc-g ++: Colección del comstackdor de GNU (C ++)

    introduzca la descripción de la imagen aquí

  3. Si olvida seleccionarlos o si ya tiene Cygwin instalado y desea instalar estos paquetes adicionales, puede volver a ejecutar la configuración de Cygwin (es decir, path-to-cygwin\cygwin\setup\setup-x86_64.exe ) y seleccionar por encima de los paquetes.
  4. No pude instalar gcc por el enfoque anterior. Me estaba dando el siguiente error: introduzca la descripción de la imagen aquí
    Así que intenté instalarlo utilizando apt-cyg . Puede encontrar los pasos para instalar apt-cyg en esta respuesta . Una vez que se apt-cyg acceder a apt-cyg desde el terminal cyg-win (es decir, path-to-cygwin\cygwin\setup\Cygwin.bat ), puede ejecutar el siguiente comando para instalar gcc

     apt-cyg install gcc-g++ 
  5. Una vez que se instala gcc, puedes instalar pyjks usando pip (no dará ningún error diciendo que no se encontró el comstackdor de C):

     pip3 install pyjks 

Incluso pude apuntar a python dentro de cygwin (es decir, path-to-cygwin\cygwin\bin\python3 ) como intérprete de python para el módulo PyDev de eclipse. Esto también me permitió usar os.fork() en python, ya que el módulo os windows python no contiene fork() .