1 votos

No se puede `pip install p4python` en Apple Silicon

Recientemente he actualizado mi sistema de un Mac Intel a un M1 Pro. Necesito utilizar p4python módulo.

He instalado Python 3.7.13 utilizando pyenv que instalé con Homebrew . Todo nativo de Apple Silicon. Cuando intento pip install p4python Lo entiendo:

% python -m pip install p4python
Looking in indexes: https://pypi.org/simple, https://pypi.ni.systems
Collecting p4python
  Using cached https://pypi.ni.systems/packages/packages/ca/e7/ea1e0416730f9184349f7d26a043e873e218a8542afa648dc8c935450a1a/p4python-2022.1.2299330.tar.gz (82 kB)
  Preparing metadata (setup.py) ... done
Using legacy 'setup.py install' for p4python, since package 'wheel' is not installed.
Installing collected packages: p4python
  Running setup.py install for p4python ... error
  error: subprocess-exited-with-error

  × Running setup.py install for p4python did not run successfully.
   exit code: 1
  > [42 lines of output]
      running install
      running build
      running build_py
      creating build
      creating build/lib.macosx-12.4-arm64-3.7
      copying P4.py -> build/lib.macosx-12.4-arm64-3.7
      running build_ext
      ***********************************************
      ** Cannot build P4Python without SSL support **
      ***********************************************
      Traceback (most recent call last):
        File "<string>", line 36, in <module>
        File "<pip-setuptools-caller>", line 34, in <module>
        File "/private/var/folders/91/5p070nb15ks8yk3v46qh19v40000gn/T/pip-install-4digz9ul/p4python_110e66d84cfe40b99ca0929ab19e1968/setup.py", line 475, in <module>
          do_setup()
        File "/private/var/folders/91/5p070nb15ks8yk3v46qh19v40000gn/T/pip-install-4digz9ul/p4python_110e66d84cfe40b99ca0929ab19e1968/setup.py", line 442, in do_setup
          'sdist': p4build_sdist,
        File "/Users/kirsch/.pyenv/versions/3.7.13/lib/python3.7/site-packages/setuptools/__init__.py", line 144, in setup
          return distutils.core.setup(**attrs)
        File "/Users/kirsch/.pyenv/versions/3.7.13/lib/python3.7/distutils/core.py", line 148, in setup
          dist.run_commands()
        File "/Users/kirsch/.pyenv/versions/3.7.13/lib/python3.7/distutils/dist.py", line 966, in run_commands
          self.run_command(cmd)
        File "/Users/kirsch/.pyenv/versions/3.7.13/lib/python3.7/distutils/dist.py", line 985, in run_command
          cmd_obj.run()
        File "/Users/kirsch/.pyenv/versions/3.7.13/lib/python3.7/site-packages/setuptools/command/install.py", line 61, in run
          return orig.install.run(self)
        File "/Users/kirsch/.pyenv/versions/3.7.13/lib/python3.7/distutils/command/install.py", line 545, in run
          self.run_command('build')
        File "/Users/kirsch/.pyenv/versions/3.7.13/lib/python3.7/distutils/cmd.py", line 313, in run_command
          self.distribution.run_command(command)
        File "/Users/kirsch/.pyenv/versions/3.7.13/lib/python3.7/distutils/dist.py", line 985, in run_command
          cmd_obj.run()
        File "/Users/kirsch/.pyenv/versions/3.7.13/lib/python3.7/distutils/command/build.py", line 135, in run
          self.run_command(cmd_name)
        File "/Users/kirsch/.pyenv/versions/3.7.13/lib/python3.7/distutils/cmd.py", line 313, in run_command
          self.distribution.run_command(command)
        File "/Users/kirsch/.pyenv/versions/3.7.13/lib/python3.7/distutils/dist.py", line 985, in run_command
          cmd_obj.run()
        File "/private/var/folders/91/5p070nb15ks8yk3v46qh19v40000gn/T/pip-install-4digz9ul/p4python_110e66d84cfe40b99ca0929ab19e1968/setup.py", line 292, in run
          raise Exception("Parameter --ssl is needed")
      Exception: Parameter --ssl is needed
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
error: legacy-install-failure

× Encountered error while trying to install package.
> p4python

note: This is an issue with the package mentioned above, not pip.
hint: See above for output from the failure.

¿Alguien ha conseguido que esto funcione?

3voto

kirsch Puntos 11

En este momento (julio de 2022), Perforce no está disponible de forma nativa para el hardware Apple Silicon (M1), basado en su página de descarga .

Desde p4python cargas y llamadas a las bibliotecas, tanto el proceso que hace la carga (Python) como la biblioteca que se está cargando necesitan ser construidos para la misma arquitectura. Esto significa que no puedes usar Python para M1 con p4python .

El desafortunado recurso es instalar la versión x64 de Python y partir de ahí.

0voto

abjbhat Puntos 184

p4python se instala para mí en una máquina M1 Max utilizando un whl archivo - No he probado desde una distribución de origen, como parece que usted está tratando:

(base) Charlie:~ sfederman$ pip install p4python
Collecting p4python
  Downloading p4python-2022.1.2299330-cp39-cp39-macosx_10_12_universal2.whl (2.8 MB)
     || 2.8 MB 3.4 MB/s
Installing collected packages: p4python
Successfully installed p4python-2022.1.2299330
(base) Charlie:~ sfederman$ which pip
/Users/sfederman/opt/anaconda3/bin/pip
(base) Charlie:~ sfederman$ python --version
Python 3.9.7

Dado que está instalando en Python 3.7.13, tal vez intente el whl para esa versión de Python desde aquí ?

0 votos

Intenté instalar p4python usando Python 3.9 (3.9.13 en mi caso) y funciona. Pero si intentas import P4 muere con ImportError en dlopen porque P4API.cpython-39-darwin.so es para x86_64. ¿Funciona para usted?

0 votos

La importación funciona correctamente import P4 - No he ido más allá con el uso de la biblioteca.

0 votos

Raro. ¿Puedes confirmar que tu binario Python es nativo para Apple Silicon y no se ejecuta bajo Rosetta? Página de descargas de Perforce ¡ni siquiera muestra un Apple Silicon build!

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X