mercurial - Fabfile sti problem på windows

Indlæg af Hanne Mølgaard Plasc

Problem



Jeg forsøger at installere mit websted ved hjælp af Fabric og Mercurial. I Windows-kommandolinjen fungerer kørsel hg push perfekt uden problemer.


Men når jeg prøver at skrive


local("hg push")


i en fabfile og kører det, får jeg fejlen:


'"hg push"' is not recognized as an internal or external command, operable program or batch file. 


Googling gav mig en ide om, at det kan være et problem med PATH variablen i Python-underprocesser, for eksempel her: Hvorfor ville en 'kommando ikke genkendt' fejl kun opstå, når et vindue er befolket?


Kan du hjælpe mig ud? Er fejlen i stof eller i min egen kode?


Tak.

Bedste reference


Som Chris R nævner, har vi ikke masser af Windows-support, da ingen af ​​de centrale devs er Windows-brugere, vi er nødt til at stole på rapporter og forslag fra vores mere kloge Windows-brugere.


Det lyder som om dette kunne være relateret til denne nyligt fastsatte, men ikke udgivet, bug - det vil være i stof 1.0.2, som snart skal være ude. Hvis du føler dig modig, kan du teste den ud nu via: [15]


pip install -e git+git://github.com/bitprophet/fabric@1.0#egg=Fabric


Hvis du så gør fab -V, skal det sige, at det er 1.0.2a - Hvis det er tilfældet, kører din fabfile muligvis bedre. Lad os vide, om du gør det her!

Andre referencer 1


Det lyder som om du har brug for at tilføje Mercurial til Fabric processen 's PATH.


Måske noget som:


fabric.context\_managers.path(<path to your hg.exe>)
run('hg push')


Se docs for stien kontekst manager. Det var ikke klart, om path gælder for local kommandoer, men run kommandoer er udtrykkeligt henvist. [16]

Andre referencer 2


Ingen af ​​de fastsatte reparationer fungerede, men skiftede


local("hg push")


til


os.system("hg push")


løste problemet.