4

您好即时通讯试图找出如何正确安装Firefox附加组件SDK,我已经照着所有的安装细节,如:安装Python 2.7,正确设置我的路径变量,并运行从我的插件CMD.EXE ..每次我在命令行运行开始开发一个插件我得到这个错误:错误安装的Firefox附加组件SDK的Python

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

I来自我的理解我所拥有的一切配置正确,任何人都可以用这个错误帮助。也是我的PATH变量如下

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 

回答

8

这个问题似乎是有问题的激活批处理文件来设置变量PYTHONINSTALL的写入值。 我通过手动设置并删除所有用于检测路径的臃肿函数Mozilla来解决此问题。

打开bin \ activate.bat文件与编辑器(NP ++清楚地一起工作) 下:CheckPython标签删除功能和意见,并使用它来设置你的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 
1

我使用的是Windows 7同样的问题,这是我做过什么,使其工作

  1. 冉MozillaBuildSetup工具冉蟒-2.7.5.msi内C:\ Mozilla的构建\蟒
  2. 在插件-SDK文件夹打开的命令提示和跑仓\激活

我不知道还有更多,所以希望这能解决它!

+0

@Krispcheez,我仍然得到同样的错误,你是如何配置你的PATH变量,实际上指向python? –

+0

我没得 – Krispycheez

+0

@RicoPlasakoi,看看你是否修改activate.bat并添加你所得到的回声%PYTHONINSTALL%后,每一个“设置PYTHONINSTALL =%PYTHONINSTALL:=%”的CheckPython – Krispycheez

4

我有同样的问题太多,似乎更改默认安装目录蟒蛇可能导致此问题。

  1. 确保您已安装python version 2.5, 2.6 or 2.7。 Python的版本3.x将不起作用。
  2. 在其默认路径C:/Python32/安装Python。
  3. 在addon-sdk文件夹中打开命令提示符并运行bin \ activate。
+1

重新安装Python到默认目录工作,但默认路径是'c:/ Python27'在我的案例中 – Calculemus

0

这里的分离路径(可能)由REG查询返回的另一种方式,独立于Windows版本:

  1. 更换只能保证单词的查询结果,REG_SZ,具有独特的单个字符,例如?。 (见后面的注释)
  2. 然后使用独特的单字符,如果找到了,如果有的话在2个令牌拆分查询结果并只获得第二届一个。
  3. 最后,修剪此类标记左侧的制表符和空格以获取路径。

注: 问号实际上可能是一个路径的一部分,尽管这似乎是不寻常的。理想情况下,应该是不允许的路径字符:|<>,等等。但其中一些给了我们麻烦逃脱他们。

检查时还有与原代码的另一个问题,:

if exist %PYTHONINSTALL%\whatever goto :EOF 

正在检查的路径应包含在双引号,考虑到含空格的路径。

因此,总而言之,这是另一种实现方式,例如,只是为了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) 

请看看this Github commit看到实际的差异。

2

这是2015年,我怀疑大多数用户可以得到的Firefox附加组件SDK的第一次尝试工作不碰为Windows的一些代码,甚至被安装在默认位置Python的...

这里就是我得到了它安装了Python

使用V2.7

在activate.bat周围线的111你有:

变化

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

或者将其设置为Python安装的位置。而已!

+0

它确实是2015年,它非常难过......我不能相信似乎至少在3年前已经发现的问题没有被像Mozilla这样的机构所关注! – ysap

+0

@ysap我认为Mozilla忘了我们Windows用户:) Linux不需要手术。 – FredTheWebGuy