Niinpä niin, en tiedä kuinka chilkat-moduulin saa käyttöön Pythonissa. Chilkatin oma "Quickstart" neuvoi näin:
Quickstart kirjoitti:
Assuming you've already installed Python 2.5 and are familiar with writing scripts in Python,
you only need to add a __path__ = ["dir_with_chilkat_pyd"] and require chilkat statement
at the beginning of your script to use the Chilkat module.
...minkä jälkeen kirjoitin koodiini:
__path__ = ["chilkatPython"] # C:\...\Python25\chilkatPython\ require chilkat import sys import chilkat . . .
mutta python sanoo Syntax Erroria requiren kohdalla.
Pythonissa ei ole require-sanaa. Tuon laittamasi importin pitäisi riittää, jos se on kunnollinen Python-mokkula.
Miksi sitten modulen opas neuvoisi noin? Ja mihin ylipäätänsä nuo moduulit pitäisi asettaa?
Mukana tuli tämmöistä:
15.11.2007 09:58 231 475 chilkat.py 05.10.2007 05:54 427 381 chilkat.pyc 28.12.2007 12:01 <KANSIO> examples 28.12.2007 12:01 <KANSIO> images 09.01.2007 14:06 18 937 license.rtf 05.02.2007 15:53 13 556 license.txt 05.02.2007 16:40 1 085 QuickStart.html 05.02.2007 16:38 1 367 README.html 15.11.2007 10:16 4 571 136 _chilkat.pyd 7 tiedosto(a) 5 264 937 tavua 4 kansio(ta) 22 655 668 224 tavua vapaana
Mokkulan oppaan kirjoittaja on ajatellut jotain kieltä, jossa on require-sana käytössä Pythonin import-sanan vastineena. Pythonissa on vain import, ja se ymmärtää hakea tuon chilkat.py-tiedoston, jos se tietää hakemiston, mistä katsoa.
Moduulien hakemisesta on lisää tietoa (enkuksi) Pythonin virallsiessa tutoriaalissa.
Virhe:
Traceback (most recent call last): File "C:\...\upload.py", line 4, in <module> import chilkat ImportError: No module named chilkat
Koodi:
__path__ = ["c:\...\chilkatPython"] # Ei tietenkään pisteitä oikeassa. import sys import chilkat
...ja tuo on aivan oikea kansio.
EDIT:
Asetin upload.py-tiedoston tuonne "chilkatPython"-kansioon, missä moduulin tiedostot sijaitsevat ja nyt homma toimii. Tosin haluaisin käyttää moduulia sen kansion ulkopuoleltakin...
Windowsissa polut pitää laittaa niin, että kenoviiva tuplataan.
\-merkki tarkoittaa, että seuraava merkki on erikoismerkki
\\-pari tarkoittaa yhtä \-viivaa lopullisessa merkkijonossa
Tästä riesasta pääsee, jos käyttää os.path-moduulia tai vastaavaa, mutta ei tämän takia kannata opetella. Pistät vain kaksi \-merkkiä joka kohtaan.
Kun kerrot sen polun oikein, niin Python löytää kyllä mokkulan. Voin huomenna antaa esimerkin, jos ei vieläkään toimi, mutta nyt illalla ei jaksa. Sori.
OK, kokeilin nyt omalla koneella. On kaksi helppoa tapaa, jotka alla. Tuo ohjeen neuvoma tapa liittyy moduuleista koostuvien pakettien (package) tekoon, josta on ohjetta sitten tuolla antamassani linkissä.
Tapa yksi:
# tämä tulee ennen importtia polku = "C:\\...\\chilkat" # tähän se koko polku from sys import path path.append(polku) # lisätään moduulien hakupolkuun uusi paikka import chilkat # nyt oikea polku on mukana, joten löytyy
Tämä on vähän purkkaviritystä, joten parempi käyttää tähän tarkoitukseen määriteltyä ympäristömuuttujaa PYTHONPATH.
Windows XP:ssä ympäristömuuttujia voi asettaa pysyvästi seuraavalla loogisella tavalla. (sarkasmia? ei koskaan)
Käynnistä valikosta klikkaat oikealla Omaa tietokonetta.
Valitse Ominaisuudet.
Sitten Lisäasetukset -> Ympäristömuuttujat
Dialogissa on käyttäjäkohtaiset ja yleiset muuttujat. Jos on muita käyttäjiä ja haluat asettaa polun vain omalle tunnuksellesi, valitse ylempi, muuten alempi Uusi-nappi.
Sitten laitat tulevaan dialogiin:
Muuttujan nimi: PYTHONPATH
Muuttujan arvo: c:\...\chilkat
Ja sitten OK OK OK, niin tieto on pysyvästi tallessa.
Windowsille itselleen ei sentään tarvitse tuplata niitä kenoviivoja. Tämän jälkeet Python hakee kyseisestä hakemistosta muiden lisäksi importattavia tiedostoja.
Toivottavasti tämä nyt toimii. On se ohje tuolla linkissäkin näin, ja testasin kyllä omalla koneella.
Aihe on jo aika vanha, joten et voi enää vastata siihen.