IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

Compilation, PYTHONHOME et module "time"


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de scorbo
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    176
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Décembre 2002
    Messages : 176
    Par défaut Compilation, PYTHONHOME et module "time"
    Bonjour,

    J'essai de cross-compiler un module python (kaa-base pour Freevo). La compilation semble se passer correctement (python setup.py build), mais lorsque que j'installe (python setup.py install) il m'indique une erreur :
    running install
    running build
    running build_py
    running build_ext
    Traceback (most recent call last):
    File "setup.py", line 73, in ?
    ext_modules = extensions)
    File "src/distribution/core.py", line 549, in setup
    return distutils.core.setup(**kwargs)
    ....
    File "/home/buildroot/build_i686/root/usr/lib/python2.4/distutils/util.py", line 262, in split_quoted
    raise RuntimeError, \
    RuntimeError: this can't happen (bad char ' ')

    A noter que cette erreur n'apparait que lorsque j'initialise la variable PYTHONHOME.
    Donc je me demandais qu'elle impact elle a exactement ?

    J'ai déjà cross compiler d'autres modules (PyXML et libxml2) et il n'y a pas eu de problèmes

    Merci

  2. #2
    Membre émérite Avatar de mchk0123
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    816
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 816
    Par défaut
    Je ne te dirais pas d'aller voir la documentation officielle de Python (PYTHONHOME est bien expliquée).

    Pour ton problème c'est tout simple tu as la réponse dans la trace Python : le chemin d'accès à ton répertoire où tu lance la compilation contient un espace ' '. Sous unix il est impossible d'avoir des espaces dans les noms de répertoires. Le script d'installation / compilation n'a pas du prévoir le cas ou l'on est sous Windows.

    Met ton code à compiler dans un répertoire comme "C:\monmodule". Relance tout, ça devrait passer.

    PYTHONHOME normalement ne doit pas être modifié, il crois qu'il indique (de mémoire) soit :

    - le répertoire principal ou est installé python
    - le répertoire <install>/lib ou sont situés tous les modules python

    Voilà.

  3. #3
    Membre émérite Avatar de mchk0123
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    816
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 816
    Par défaut
    Pour PYTHONHOME je rectifie :

    c'est le répertoire d'installation de Python : par exemple C:\Python25

    Pour PYTHONPATH :

    c'est la liste des chemins de recherche des modules (mots-clefs import)

    Pour PYTHONSTARTUP :

    c'est le nom du script de configuration de ton site (code à exécuter à chaque chargement de Python)

  4. #4
    Membre confirmé Avatar de scorbo
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    176
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Décembre 2002
    Messages : 176
    Par défaut
    J'avais regardé le man de python, mais je ne comprend pas pourquoi j'ai ce problème. D'autant plus que je suis sous Linux et je n'utilise pas de chemin comprenant d'espaces. J'ai compilé les modules avec la version 2.5 de python et je n'ai plus aucun problème de ce genre, néanmoins lorsque je lance le shell de python et que je fais "import time" il me dit qu'il ne trouve pas le fichier (les autres modules tels que "sys" fonctionnent).

    J'aimerais savoir si j'ai ce module ou pas avant de vérifier si ce n'est pas juste une histoire de chemin. Mais où est-ce que je peux le trouver ? Apparement les modules sont placés dans /usr/local/lib/python2.5/ mais je n'ai pas de fichier "time.py", je n'ai que "timeit.py"

    Merci

  5. #5
    Membre émérite Avatar de mchk0123
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    816
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 816
    Par défaut
    Ah ben sous Linux, je peut pas t'en dire plus. Désolé.

  6. #6
    Membre éclairé

    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Février 2005
    Messages
    464
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2005
    Messages : 464
    Par défaut configurer correctement une installation de python
    Bonjour,

    J'espère ne pas me faire gronder pour ce déterrage de topic.
    Je suis tombé dessus en faisant une recherche sur un problème avec une installation MSYS pour esp32 : une version de python 2.7 est embarquée.
    Lorsque que je le lançais la console python ou pip me sortait des erreurs de modules non trouvés : site, pkg_resources, ...., comme ci-dessous :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Traceback (most recent call last):
      File "/var/www/mydir/virtualenvs/dev/bin/pip", line 5, in <module>
        from pkg_resources import load_entry_point
    ImportError: No module named pkg_resources

    Lorsqu'il s'agit d'un environnement python "custom", bien vérifier les chemins de configuration utilisés, en plus de PYTHONHOME et PYTHONPATH. Pour ces deux derniers j'ai utilisé les infos fournies-ci-dessus, ce qui m'a permit d'utiliser la commande suivante :

    A partir de la j'ai pu vérifier les chemins qui sont utilisés :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    sli@DESKTOP-4279QD0 MINGW32 ~
    $ python -m site
    sys.path = [
        'C:/msys32/home/sli',
        'C:/msys32/mingw32/lib/python2.7',
        'C:/msys32/mingw32/lib/python27.zip',
        'C:/msys32/mingw32/lib/python2.7/plat-win32',
        'C:/msys32/mingw32/lib/python2.7/lib-tk',
        'C:/msys32/mingw32/lib/python2.7/lib-old',
        'C:/msys32/mingw32/lib/python2.7/lib-dynload',
        'C:/building/msys64/mingw32',
        'C:/msys32/mingw32/lib/python2.7/site-packages',
    ]
    USER_BASE: 'C:\\msys32\\mingw32\\' (exists)
    USER_SITE: 'C:/msys32/mingw32/lib/python2.7/site-packages' (exists)
    ENABLE_USER_SITE: True
    le sys.path n'était pas encore correct, PYTHONHOME=C:/msys32/mingw32/lib/python2.7', et USER_BASE et USER_SITE étaient également incorrects, j'ai utilisé la doc du site python pour corriger.

    une fois ces chemins correctement établis, j'ai pu utiliser mon environnement.
    Je pense que l'auteur est passé à autre chose, mais ça peut servir à d'autres....

Discussions similaires

  1. Problème "LoadModule ssl_module modules/mod_ssl.so"
    Par ldcarpathes dans le forum Apache
    Réponses: 9
    Dernier message: 24/01/2008, 11h07

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo