firefox python-2.7 windows-7 firefox-addon firefox-addon-sdk

Error al instalar Firefox Addon SDK Python



python-2.7 windows-7 (5)

Tuve el mismo problema al usar Windows 7 y esto es lo que hice para que funcione

  1. Se ejecutó la herramienta MozillaBuildSetup desde https://ftp.mozilla.org/pub/mozilla.org/mozilla/libraries/win32/MozillaBuildSetup-Latest.exe
  2. Corrió el python-2.7.5.msi dentro de C: / mozilla-build / python
  3. Se abrió un símbolo del sistema en la carpeta addon-sdk y se ejecutó bin / activate

Todavía no sé más que esto, ¡así que espero que esto lo solucione!

Hola, estoy tratando de averiguar cómo instalar Firefox Addon SDK correctamente, he seguido todos los detalles de instalación como: Instalar Python 2.7, configurar mis variables de PATH correctamente y ejecutar el complemento desde mi cmd.exe. Cada vez que ejecuto el línea de comando para comenzar a desarrollar un complemento me sale este error:

C:/mozilla-build/addon-sdk/bin>activate.bat Warning: Failed to find Python installation directory

Si tengo entendido que tengo todo configurado correctamente, ¿Alguien puede ayudarme con este error? Y también mis variables de PATH son las siguientes

User Variables...;C:/mozilla-build/addon-sdk/bin;C:/mozilla-build/python;C:/Python27 SYSTEM Variables ...;C:/mozilla-build/addon-sdk/bin;C:/mozilla-build/python;C:/Python27


El problema parece ser que el archivo por lotes activado tiene problemas para establecer el valor de escritura de la variable PYTHONINSTALL. Lo resolví configurándolo manualmente y borrando toda la función inflada que Mozilla usó para detectar la ruta.

abra el archivo bin / activate.bat con un editor (np ++ lo deja claro para trabajar con) bajo la etiqueta: CheckPython, elimine la función y los comentarios y utilícelos para configurar su ruta de instalación de python:

:CheckPython ::CheckPython(retVal, key) ::Reads the registry at %2% and checks if a Python exists there. ::Checks both HKLM and HKCU, then checks the executable actually exists. SET key=%2% SET "%~1=" SET reg=reg if defined ProgramFiles(x86) ( if exist %WINDIR%/sysnative/reg.exe SET reg=%WINDIR%/sysnative/reg.exe ) rem here you should make sure to set the correct path set PYTHONINSTALL=C:/Program Files/Python27 if exist %PYTHONINSTALL%/python.exe goto :EOF if exist %PYTHONINSTALL%/PCBuild/python.exe (set "PYTHONINSTALL=%PYTHONINSTALL%/PCBuild" & goto :EOF) if exist %PYTHONINSTALL%/PCBuild/amd64/python.exe (set "PYTHONINSTALL=%PYTHONINSTALL%/PCBuild/amd64" & goto :EOF) GOTO :EOF


También tuve el mismo problema, parecía que cambiar el directorio de instalación predeterminado para python puede causar este problema.

  1. Asegúrese de haber instalado la python version 2.5, 2.6 or 2.7 . Las versiones 3.x de Python no funcionarán.
  2. Instale Python en su ruta predeterminada C:/Python32/ .
  3. Abra el símbolo del sistema en la carpeta addon-sdk y ejecute bin / activate.

Aquí hay una forma alternativa de aislar la ruta (posiblemente) devuelta por la consulta reg, independientemente de la versión de Windows:

  1. Reemplazar la única palabra garantizada en el resultado de la consulta, REG_SZ , con un solo carácter único, por ejemplo ? . (Ver nota más adelante)
  2. Luego, use esa única char única, si la encuentra, para dividir el resultado de la consulta en 2 fichas y obtener solo la segunda, si corresponde.
  3. Finalmente, recorte las pestañas y los espacios de la izquierda de dicho token para obtener la ruta.

Nota: Un signo de interrogación podría ser parte de una ruta, aunque parece ser poco común. Idealmente debería ser un carácter no permitido en las rutas: | , < , > , y así sucesivamente. Pero algunos de ellos nos dieron problemas para escapar de ellos.

También hay otro problema con el código original al verificar:

if exist %PYTHONINSTALL%/whatever goto :EOF

la ruta que se verifica debe estar entre comillas dobles, para tener en cuenta las rutas que contienen espacios.

Entonces, en general, aquí está la implementación alternativa, por ejemplo, solo para la parte HKML:

rem Try HKLM SET QueryResult= FOR /F "usebackq delims=" %%r IN (`%reg% QUERY HKLM/%key% /ve 2^>NUL`) DO @SET QueryResult=%%r SET ReplacedResult=%QueryResult:REG_SZ=?% FOR /F "tokens=2 delims=?" %%t IN ("%ReplacedResult%") DO SET "%~1=%%t" rem trim tabs and spaces from the left (note: there''s a literal tab in next line) FOR /F "tokens=* delims= " %%v IN ("%PYTHONINSTALL%") DO SET PYTHONINSTALL=%%v if exist "%PYTHONINSTALL%/python.exe" goto :EOF rem It may be a 32bit Python directory built from source, in which case the rem executable is in the PCBuild directory. if exist "%PYTHONINSTALL%/PCBuild/python.exe" (set "PYTHONINSTALL=%PYTHONINSTALL%/PCBuild" & goto :EOF) rem Or maybe a 64bit build directory. if exist "%PYTHONINSTALL%/PCBuild/amd64/python.exe" (set "PYTHONINSTALL=%PYTHONINSTALL%/PCBuild/amd64" & goto :EOF)

Por favor, eche un vistazo a este compromiso de Github para ver la diferencia real.


Es 2015 y dudo que la mayoría de los usuarios puedan hacer que Firefox Addon SDK funcione en el primer intento sin tocar ningún código para Windows, incluso con Python instalado en la ubicación predeterminada ...

Así es como lo tengo instalado usando v2.7 de Python

En la línea 111 de activate.bat tienes:

set PYTHONINSTALL=%PYTHONINSTALL:REG_SZ=%

cambiar a

set PYTHONINSTALL=%PYTHONINSTALL:REG_SZ="C://Python27"

O configúrelo en cualquier ubicación en la que esté instalado Python. ¡Eso es!