Več

Meni v dodatku Python ni mogoče odstraniti

Meni v dodatku Python ni mogoče odstraniti


Imam dodatek Python z dobro količino gumbov in menijev. Poskušam odstraniti meni z uporabo addin_assistant, vendar se meni ne odstrani iz config.xml. Poskusil sem odstraniti dodatek v ArcMap-u in ga znova dodati, vendar to ni pomagalo.

Postopek, ki ga opravljam:

  1. Odprite čarovnika za dodatke Python, poiščite mapo z dodatki.
  2. Poiščite meni. Z desno tipko miške kliknite in Odstrani.
  3. Shrani. Za opozorilo o varnostnem kopiranju kliknite V redu.
  4. Config.xmldatum dokumenta se samodejno spremeni s shranjevanjem.
  5. Odprite XML in preverite, da meni ni odstranjen.

Hitre misli: Poskušal sem znova zagnati računalnik. Gumbe sem uspešno odstranil. Ne morem predelati dodatka vsakič, ko želim odstraniti meni. Način prilagajanja -> Izbriši meni (v ArcMap) ni izvedljiv, ker bo ta dodatek v skupni rabi s stotinami uporabnikov.

Kakšne misli? Prosim, sporočite mi, če potrebujete več informacij.

Uredi:

Vsebino mojega dodatka v mapi sem prepisal v drugo mapo. Poskusil sem odstraniti meni, kot sem že opisal, vendar ni delovalo.

XML sem uredil v Notepadu ++, da sem ročno odstranil meni in zagnal datoteko makeaddin.py, nato pa odstranil in znova dodal dodatek v ArcMap. To ni odstranilo menija.

Dvojni klik in namestitev datoteke dodatka esri je odstranil meni, saj sem uredil XML, zdaj pa, ko poskušam dostopati do imenika dodatkov s pomočnikom za dodatke, dobim okno z napako, ki pravi:

Napaka pri inicializaciji dodatka

ime dodatka.menu_remove (kar je bilo ime ID -ja menija).

Zdi se, da addin_assistant pričakuje, da bo našel meni, a ker je bil odstranjen v XML, vrže napako.

Uredi 2

Nisem v celoti izbrisal vseh zahtevanih vrstic v XML. Zgoraj prikazana napaka se ne prikaže več. Izbrisati sem moral napis menija za kategorijo menija in refID menija, ki se je skliceval na moj ID menija (menu_remove).

Urejanje XML deluje dovolj dobro, da se na to odgovori. Esri meni, da je težava napaka ali omejitev s čarovnikom za dodajanje python. Te podatke bom dodal, ko jih prejmem.


To je dvodelno vprašanje, ampak gremo:

  1. Če ste popolnoma gotovo izvajate postopek, za katerega trdite, da je črka, in da se element menija še vedno ne briše iz konfiguracijskega XML, boste morda morali iti v.XMLdatoteko in ročno izbrišite meni v urejevalniku besedil, kot je Notepad ++. Morda boste želeli vložiti težavo s podporo za Esri, morda je v čarovniku za dodatke Python napaka. Poskušal sem dodati/odstraniti menije z različnimi vrstami elementov in nisem imel težav, zato boste morda morali deliti dodatek z Esri.
  2. Obstaja dokumentiran način za razmestitev dodatkov prek omrežne mape v skupni rabi, tako da vsakič, ko posodobite datoteko.esriaddindatoteke usrs, ki so konfigurirane za uporabo dodatka, bodo vidne vaše posodobitve.

Z orodjem PySimpleGUI preprosto dodajte grafične vmesnike v svoje programe in skripte

Malo ljudi zažene programe Python tako, da dvoklikne datoteko .py, kot da bi bila datoteka .exe. Ko tipičen uporabnik (neprogramerski tipi) dvakrat klikne datoteko .exe, pričakuje, da se bo odprla z oknom, s katerim lahko komunicirajo. Čeprav so grafični vmesniki, ki uporabljajo tkinter, možni s standardnimi namestitvami Python, je malo verjetno, da bi to storilo veliko programov.

Kaj pa, če bi bilo tako enostavno odpreti program Python v grafični vmesnik, da bi to zmogli popolni začetniki? Bi koga zanimalo? Bi ga kdo uporabil? Težko je odgovoriti, ker do danes tega še ni bilo enostavno za izdelavo uporabniškega vmesnika po meri.

Zdi se, da obstaja razlika v sposobnosti dodajanja grafičnega vmesnika v program/skript Python. Popolni začetniki uporabljajo le ukazno vrstico, mnogi napredni programerji pa ne želijo vzeti časa, potrebnega za kodiranje tkinterjevega grafičnega vmesnika.


Če vaš urejevalnik ne podpira neposrednega lepljenja emojijev, lahko namesto tega poiščete unicode emojisov, kot je to. V tem primeru je bila puščica naprej u25c0 in puščica nazaj u25b6.

Razen tega bi morali biti pripravljeni! Sporočilo se bo izbrisalo po 60 sekundah nedejavnosti v tem sporočilu (to pomeni, da se nihče ne odzove s puščicami), vendar samo spremenite številko, če želite daljše obdobje pred izbrisom.

Druga možnost je, da dodate tretji emoji, na primer križ, ki na zahtevo izbriše sporočilo.


2 odgovora 2

Ne. Izpuščanje izbirnega je bilo prej dovoljeno, od takrat pa je bilo odstranjeno.

A pretekla različica tega PEP -a je preverjalcem tipov omogočilo, da prevzamejo neobvezno vrsto, če je privzeta vrednost None [. ]

To ni več priporočeno vedenje. Preverjevalci vrst bi morali preiti na zahtevo, da mora biti neobvezna vrsta izrecno navedena.

Nekatera orodja lahko še vedno zagotavljajo staro obnašanje za podporo starejših. Tudi če je tako, se v prihodnje ne zanašajte na podporo.

Natančneje, mypy privzeto še vedno podpira implicitno Neobvezno, vendar izrecno ugotavlja, da se lahko to v prihodnosti spremeni:

Izbirne vrste in tip None (mypy v0.782)

[. ] Z možnostjo --no-implicit-optional ukazne vrstice lahko prenehate obravnavati argumente s privzeto vrednostjo None kot implicitno neobvezno [. ] tip. Možno je, da bo to v prihodnosti postalo privzeto vedenje.


DEMONSTRACIJA UPORABE

Za predstavitev aplikacij so uporabljeni podatki o večpolitarskem zraku LiDAR, pridobljeni na študijskem območju 2,4 km x 9 km na polju sipin White Sands v Novi Mehiki (ZDA). Polje sipinih belih peskov je polje sipko-peščenih sipin, za katerega se domneva, da je nastalo sredi holocena in je napredovalo skozi deflacijo pluvialnih in plejcenskih pleistocenskih sedimentov jezera Otero (Langford, 2003 Kocurek et al., 2007). Trenutni vnos sedimentov na sipinsko polje White Sands je predvsem posledica izpihovanja mavca iz sodobnih igrišč, ki se nahajajo jugozahodno od polja sipin (Ewing in Kocurek, 2010).

Na slikah 4 in 5 so prikazani vzorci aplikacij z uporabo dveh DEM ločljivosti 1 m, pridobljenih iz podatkov LiDAR, pridobljenih 24. januarja 2009 in 6. junija 2010, na študijskem območju 2,4 km x 9 km na polju sipin White Sands. Parametri so prikazani v orodni vrstici dodatkov, legende pa v kazalu na levi strani okna ArcMap. Z dodatkom so bili rezultati za 8707 točk na študijskem območju 2,4 km na 9 km (slika 5) pridobljeni v manj kot 2 minutah na običajnih namiznih računalnikih.

Stopnje migracije sipin na sliki 5 so v skladu z nekaterimi prejšnjimi rezultati. Ewing in Kocurek (2010) sta na primer poročala, da se stopnje migracije barhanoidnih in polmesečastih sipin na območju gibljejo od 1 do 7 m/leto in so običajno hitrejše v odseku proti vetru. Kot je prikazano na sliki 5, imajo polmesečne sipine v bližini zahodnega roba proti vetru najvišje stopnje selitve. Spodnje ploskve so v osrednjem delu študijskega območja, ki ima razmeroma širša medsebojna območja, manj razvite, razmeroma stabilne parabolične sipine pa zaradi prisotnosti vegetacije tvorijo na vzhodnem delu študijskega območja. Za primerjavo razdalj selitve sipin, pridobljenih iz dodatka GIS in ročnih meritev, smo ročno izmerili razdalje od 30 ciljnih točk (targetpoints.shp) do izvornih linij (sourcelines.shp). Treba je opozoriti, da bi lahko bilo ročno merjenje razdalje selitvenih smeri in smeri migracije zelo težko brez izvornih linij in ciljnih linij, odkritih s ploskev zdrsa DEM, pridobljenih iz LiDAR, zaradi pomanjkanja očitnih talnih kontrolnih točk na DEM. Pred ročnimi meritvami je bila vidnost izvornih točk (sourcepoints.shp) na izvornih linijah nastavljena na nevidno, tako da računalniško ustvarjene izvorne točke niso vplivale na človeško vizualno interpretacijo. Tabela 1 navaja ročno in samodejno izmerjene razdalje selitve sipin na 30 lokacijah ciljnih točk. Rezultati v tabeli 1 kažejo, da je relativna napaka ročno izmerjenih migracijskih razdalj lahko manjša od 2% v primerjavi s samodejno izmerjenimi migracijskimi razdaljami. Vendar je treba opozoriti, da ročne meritve v veliki meri temeljijo na izkušnjah in presoji upravljavca ter so v primerjavi z dodatkom GIS zelo zamudne, kar lahko samodejno izmeri in shrani stopnje migracije sipin in smeri selitev za več kot 10.000 točk v manj kot 3 minutah.


Kako lahko vgradim Python v aplikacijo Windows? ¶

Vdelavo tolmača Python v aplikacijo Windows lahko povzamemo na naslednji način:

Naredite _not_ vstavljanja Pythona neposredno v datoteko .exe. V operacijskem sistemu Windows mora biti Python DLL za obdelavo uvoznih modulov, ki so sami DLL -ji. (To je prvo ključno dejstvo brez dokumentov.) Namesto tega se povežite s pythonom NN .dll je običajno nameščen v C: Windows System. NN je različica Python, številka, kot je "33" za Python 3.3.

Na Python se lahko povežete na dva različna načina. Povezovanje v času nalaganja pomeni povezovanje s pitonom NN .lib, medtem ko povezovanje med izvajanjem pomeni povezovanje proti pythonu NN .dll. (Splošna opomba: python NN .lib je tako imenovani "import lib", ki ustreza pythonu NN .dll. Le povezovalnik definira simbole.)

Povezovanje med izvajanjem močno poenostavi možnosti povezave, kar se zgodi v času izvajanja. Vaša koda mora naložiti python NN .dll z uporabo rutine Windows LoadLibraryEx (). Koda mora uporabljati tudi rutine dostopa in podatke v pythonu NN .dll (to je Pythonov API C) z uporabo kazalcev, pridobljenih z rutino Windows GetProcAddress (). Zaradi makrov je uporaba teh kazalcev pregledna za katero koli kodo C, ki kliče rutine v Python -jevem C API -ju.

Opomba Borland: pretvorite python NN .lib v formatu OMF najprej z uporabo Coff2Omf.exe.

Če uporabljate SWIG, lahko preprosto ustvarite »razširitveni modul« Python, ki bo dal podatke in metode aplikacije na voljo Pythonu. SWIG bo za vas obravnaval skoraj vse škrlatne podrobnosti. Rezultat je koda C, ki jo povežete v vaša datoteka .exe (!) _Ne morate ustvariti datoteke DLL, kar tudi poenostavi povezovanje.

SWIG bo ustvaril funkcijo init (funkcija C), katere ime je odvisno od imena razširitvenega modula. Na primer, če je ime modula leo, se bo funkcija init klicala initleo (). Če uporabljate senčne razrede SWIG, se bo funkcija init imenovala initleoc (). S tem se inicializira večinoma skrit pomočni razred, ki ga uporablja senčni razred.

Razlog, da lahko kodo C v 2. koraku povežete z datoteko .exe, je ta, da je klic funkcije inicializacije enakovreden uvozu modula v Python! (To je drugo ključno dejstvo brez dokumentov.)

Skratka, lahko uporabite naslednjo kodo za inicializacijo tolmača Python z razširitvenim modulom.

Obstajata dve težavi s Pythonovim API -jem C, ki se bosta pokazala, če uporabljate prevajalnik, ki ni MSVC, ki se uporablja za izdelavo pythonNN.dll.

Problem 1: Tako imenovane funkcije "zelo visoke ravni", ki sprejemajo argumente FILE *, ne bodo delovale v okolju z več prevajalniki, ker bo pojem vsakega prevajalnika o strukturni datoteki drugačen. Z vidika izvajanja so to funkcije na zelo nizki ravni.

Problem 2: SWIG ustvari naslednjo kodo pri ustvarjanju ovojev za funkcije void:

Žal, Py_None je makro, ki se razširi na sklic na kompleksno podatkovno strukturo, imenovano _Py_NoneStruct znotraj pythonNN.dll. Tudi v okolju z več prevajalniki ta koda ne bo uspela. To kodo zamenjajte z:

Za samodejno spremembo je mogoče uporabiti SWIG -ov ukaz %typemap, čeprav tega nisem uspel doseči (sem popoln novinec v SWIG -u).

Uporaba skripta lupine Python za namestitev okna tolmača Python iz aplikacije Windows ni dobra ideja, da bo nastalo okno neodvisno od sistema oken vaše aplikacije. Namesto tega bi morali vi (ali razred wxPythonWindow) ustvariti "domače" okno tolmača. To okno je enostavno povezati s tolmačem Python. Pythonov v/i lahko preusmerite v kateri koli objekt, ki podpira branje in pisanje, zato potrebujete le objekt Python (definiran v razširitvenem modulu), ki vsebuje metode read () in write ().


Ko v meniju dodate stran wordpress, se je pretvorila v povezavo po meri

Najprej sem to vprašanje poskušal objaviti na podpori wordpress v upanju, da morajo vedeti o tem vprašanju, ker je to njegov uradni forum wordpress, vendar od njih nisem dobil nobenega odgovora. Zato sem zdaj tukaj, da najdem rešitev.

Težava nastane po posodobitvi. Ko dodam stran v meniju (Videz -> meni) in kliknem na shrani, se nato pretvori v povezavo po meri. In v tej povezavi po meri ni polja za vnos URL -ja! Začne se dogajati po posodobitvi wordpressa.

Pred posodobitvijo je bilo vse v redu. Meni, ki sem ga ustvaril pred posodobitvijo, je v redu, vendar po posodobitvi ne morem dodati strani (ker se pretvori v povezavo).

Še en pomislek: Ko dodam več strani, to je 2, se ena stran pretvori v povezavo, druga pa ostane varna. To pomeni, da če moram dodati eno stran v meni, potem moram izbrati 2 strani in jo dodati v meni. Ko kliknem na shrani spremembe, potem ena stran pretvori v povezavo (večinoma stran na dnu 2 strani ali druga na 2 straneh), druga pa ostane varna. Tako potem izbrišem povezavo po meri in znova shranim spremembe, nato pa v meniju dobim svojo stran želja.

Drug učinek te dejavnosti je, da ko poskušam posodobiti meni, se moje strani, na katerih sem izbral predlogo po meri, vrnejo nazaj na privzeto predlogo, kadar koli kliknem shrani spremembe v meniju Videz -& gt. To se lahko zgodi zaradi težave z menijem (stran pretvori v povezavo).

Rešitev, ki sem jo preizkusil: 1. Onemogočil sem vse vtičnike

  1. Poskušal sem preiti na twentysixteen, vendar ni delovalo
  2. Poskusil sem tudi rešitev, objavljeno v tem članku. Glede na zgornji predlog objave sem povečal spomin na 1000 do 5000, vendar še vedno brez učinka.

Veliko sem iskal, vendar nisem našel nobene rešitve, ki bi mi ustrezala. Torej kakšna ideja, kaj naj še poskusim rešiti to težavo?


Preverite najnovejše prevesti dokumentacijo na naslovu Preberite dokumente

Prosim, pošljite zahtevke za vlečenje, zelo cenjeni.

  1. Razcepite skladišče na GitHubu.
  2. Naredite podružnico gospodarja in ji vnesite spremembe.
  3. Zahteve za namestitev. pip install -r requirements -dev.txt
  4. Namesti predhodno zavezo. namestitev pred zavezo
  5. Zaženite teste z py.test -vv -s
  6. S svojim prispevkom ustvarite povpraševanje

Preverite, ali je nameščen conda

Če je conda že nameščen v vašem sistemu, pojdite na razdelek Namestitev API -ja. Če niste prepričani, ali je conda nameščena, preverite tako, da v vmesniku ukazne vrstice vnesete naslednji ukaz.

Če je conda nameščen in je njegova sistemska pot registrirana v okoljski spremenljivki PATH, bi se morala v terminalu prikazati vsebina pomoči conda. Če se prikaže vsebina pomoči, pojdite na razdelek Namestitev API -ja. Če conda ni prepoznan, se bo rezultat glasil takole: conda ni mogoče najti ali ne prepoznati kot ukaz. Možno je, da program obstaja v vašem sistemu, vendar ni registriran v okoljski spremenljivki PATH. Tudi v tem primeru zaradi doslednosti nadaljujte z razdelkom Namestitev conda, saj je težko obravnavati vse možne sistemske konfiguracije. Dokler mapa 'miniconda3 ' ne obstaja v vaši domači mapi, bi morala naslednja navodila za namestitev conda uspeti. Za več informacij o lokaciji in registraciji namestitve conda obiščite strani Miniconda Installation in Anaconda Installation.


3.11. Prevajanje Pythona v sistemu Windows¶

Če želite sami sestaviti CPython, morate najprej pridobiti vir. Lahko prenesete vir najnovejše izdaje ali pa se naročite na novo.

Izvorno drevo vsebuje rešitev za sestavljanje in projektne datoteke za Microsoft Visual Studio 2015, ki je prevajalnik, uporabljen za izdelavo uradnih izdaj Pythona. Te datoteke so v imeniku PCbuild.

Za splošne informacije o postopku izdelave preverite PCbuild/readme.txt.

ali "Ustvarjanje razširitev Python v C/C ++ z SWIG -om in njihovo prevajanje z MinGW gcc v sistemu Windows" ali "Namestitev razširitve Python z distutili in brez Microsoft Visual C ++", avtor Sébastien Sauvage, 2003


Poglej si posnetek: ПУКАНЕ в КРЪСТА - Причината + 5 упражнения!