Asensin tuon c_parser.py, ja sitä ennen myös
http://www.dabeaz.com/ply/
sekä
http://code.google.com/p/pycparser/
mutta: yritettäessä komentaa (komentoriviltä)
python c_parser.py koodia.c
tulee virheilmoitus:
Traceback (most recent call last):
File "c_parser.py", line 13, in
from . import c_ast
ValueError: Attempted relative import in non-package
sama tulee myös komennolla:
python c_parser.py
eli c-kielisen tiedostonimen poisjättö ei muuta asiaa.
saako tuon jotenkin korjattua ?
Python on versiota 3.2.3 (windows XP; 32-bit)
Python, c_parser.py ?
3
179
Vastaukset
- hooposs
Mielenkiintoista. En tiennyt koko relative importtien olemassaolosta kun en ole moisia tähän asti tarvinnut :). Elikkä ilmeisesti main moduulit (suorita vs importtaa moduuli) ja relative importit eivät tällä hetkellä sovi hyvin yhteen.
Jotain asiaan liittyen tai vierestä lipoen
http://www.python.org/dev/peps/pep-0328/#rationale-for-relative-imports
http://www.python.org/dev/peps/pep-0338/#import-statements-and-the-main-module
http://python.org/dev/peps/pep-0366/
Toimivatko esimerkit examples kansiossa kuitenkin? eli jos tuo on tosiaan ongelma vain yrittäessä ajaa moduulia joka tekee relative importit niin ei sillä pitäisi olla mitään käytännön merkitystä - c_parser
"niin ei sillä pitäisi olla mitään käytännön merkitystä"
no onhan sillä nyt erittäin vakava merkitys !
Kun siis tuon seurauksena en pysty ollenkaan tekemään haluaamaani asiaa.
Tuo c_parser.py kun on tuon seurauksena täysin käyttökelvoton.
En ainakaan keksi mitään keinoa edes ajaa manuaalisesti tuota c_parser.py
ja kun tarkoitus oli luoda DLL joka ajaisi sekä python -tulkin että tuon c_parser.py ko. python -tulkissa ja mahdollistaisi tuon DLL:n kutsumisen ihan millä kielellä tehdystä pääohjelmasta tahansa (siis niistä kielistä, joita voi kääntää EXE:ksi)- hooposss
Tuo c_parser.py sisältää luokan CParser eikä mitään oleellista suoritettavaa. Voit käyttää ko. luokkaa ilman mitään ongelmia kunhan olet asentanut sen ja ply:n oikein (python setup.py install). Tällöin python löytää sen ihan oikein komennolla import pycparser. Examples kansiossa olevat esimerkit toimivat omalla koneellani ihan hyvin tosin (eri python mutta ei pitäisi olla merkitystä. Sama virhe tulee jos koitan suorittaa ko. tiedoston)
Ilmankin oikeaoppista asennusta sen saa varmasti toimimaan, kunhan huolehdit että pycparser paketti löytyy jotta import sen osaa hakea.
Vaihtoehdot:
a) asennat sen oikeaoppisesti site-packages kansioon
b) Luot sille .pth tiedoston site-package kansioon, joka kertoo mistä hakea (http://docs.python.org/library/site.html)
c) määrittelet polun PYTHONPATH ympäristömuuttujaan
d) muokkaat sys.path ennen importtia ja lisäät polun sinne
(muitakin tapoja voi olla mutta ei tule mieleen just nyt)
"En ainakaan keksi mitään keinoa edes ajaa manuaalisesti tuota c_parser.py"
Ei sitä ole tarkoitettukaan. Ongelma ilmenee vain ja ainoastaan jos koitat suorittaa ko. tiedoston. Tiedosto on osa pakettia pycparser (__init__py olemassaolo kertoo tämän). En tiedä miksi tekijä on päättänyt käyttää suhteellisia importteja josta johtuen tuo ongelma nyt ilmenee.
Jotain paketeista: http://docs.python.org/tutorial/modules.html#packages
Jos mikään muu ei auta voit kiertää ongelman muuttamalla importit tavallisiksi, kunhan huolehdit että ne löytyvät importilla. Tätä joudut sitten mahdollisesti ylläpitämään itse jatkossakin :)
Ketjusta on poistettu 0 sääntöjenvastaista viestiä.
Luetuimmat keskustelut
Mitä hyvää rikkaiden hyysääminen Suomelle tuonut?
Minäpä vastaan: ei yhtikäs mitään, vaan pelkkää vahinkoa. Demareiden ansiosta Suomen valtio oli käytännössä vielä 1980-19213099Purra hyökkää nyt suomalaisen duunarin kimppuun teettämällä mamuilla palkatonta työtä
Niinpä niin. Persut duunaripuolue, HAH. Joko alkaa kovapäisinkin persu älyämään, että persut ovat Suomen kansan vastain35512264Tytti Tuppurainen häpäisi Suomen epäisänmaallisella lausunnollaan USA:n ulkoministerille Rubiolle.
https://www.is.fi/politiikka/art-2000011816267.html Miksi Tytti Tuppurainen päästetään antamaan typeriä lausuntoja noin2836609Purra ehdottaa vaan Tanskan mallia, joka on erittäin hyvä malli
Purra ehdotti helmikuussa Suomeen Tanskan mallia, jossa maahanmuuttajilta vaaditaan työntekoa sosiaalitukien saamiseksi.2555367Kokoomusnuoret: Sosiaalitukien työvelvoitteen tulisi koskea kaikkia
Riikka Purra on esittänyt, että maahanmuuttajilta tulisi edellyttää palkatonta työtä sosiaalitukien vastineeksi. Kokoom2093886- 1803695
L/OVER ikuisesti minun
Aivan järkyttävä sarja. Ei voi olla katsomatta, mutta tuo omat muistot mieleen. Näyttelijät näyttelevät turhankin hyvin642773Purra vaatii: Työvelvoite maahanmuuttajille ja kantasuomalaisille pitkäaikaistyöttömille
Jos Perussuomalaiset ja Kokoomus ovat seuraavan hallituksen kaksi johtavaa puoluetta, on suomalaisille pitkäaikaistyöttö1802532Jyrki Linnankivi, Jyrki 69 - Goottirokkarista kirkonmieheksi Lappiin!
Jyrki Linnankivi eli Jyrki 69 on The 69 Eyes -rockyhtyeen vokalisti. Lauluhommien lisäksi hän sanoittaa, säveltää ja sov151952Onnea Maria ja Vilma Amazing Race -voitosta!
Maria Guzenina ja Vilma Vähämaa voittivat Amazing Race Suomi -kisan. Voiton hetkellä Guzenina paljasti, miksi valitsi Vi191814