Installation Creme 1.3
#1
Bonjour,

J'essaie désespérément d'installer la version 1.3, cette fois sur une machine Ubuntu 12.04 en 32 bits, et en utilisant virtualenv.
Après pas mal de tâtonnements, j'ai réussi à créer l'environnement virtuel et à installer tous les "requirements".
Pour ceux qui auraient des problèmes avec pyrgraphviz, j'ai trouvé une solution là
http://stackoverflow.com/questions/15661...pygraphviz
il faut apparemment installer le paquet dpkg-config
Code :
sudo apt-get install graphviz libgraphviz-dev pkg-config
ensuite j'ai eu aussi des problèmes avec pytz
J'ai trouvé la solution là
https://github.com/pypa/pip/issues/974
il faut faire à la main la commande
Code :
pip install --pre pytz
et refaire ensuite
Code :
pip install -r requirements.txt

En revanche, je bute sur une erreur lors de la commande python manage.py syncdb
j'ai bien trouvé manage.py à la racine, et non pas dans crème, mais apparemment il ne trouve pas les modules
Code :
File "/srv/*****-conseil.com/creme_crm-1.3/manage.py", line 10, in <module>
    execute_from_command_line(sys.argv)
  File "/home/Rene/.virtualenvs/creme/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 443, in execute_from_command_line
    utility.execute()
  File "/home/Rene/.virtualenvs/creme/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 382, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "/home/Rene/.virtualenvs/creme/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 261, in fetch_command
    klass = load_command_class(app_name, subcommand)
  File "/home/Rene/.virtualenvs/creme/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 69, in load_command_class
    module = import_module('%s.management.commands.%s' % (app_name, name))
  File "/home/Rene/.virtualenvs/creme/local/lib/python2.7/site-packages/django/utils/importlib.py", line 35, in import_module
    __import__(name)
  File "/home/Rene/.virtualenvs/creme/local/lib/python2.7/site-packages/south/management/commands/__init__.py", line 10, in <module>
    import django.template.loaders.app_directories
  File "/home/Rene/.virtualenvs/creme/local/lib/python2.7/site-packages/django/template/loaders/app_directories.py", line 23, in <module>
    raise ImproperlyConfigured('ImportError %s: %s' % (app, e.args[0]))
django.core.exceptions.ImproperlyConfigured: ImportError creme_core: No module named creme_core

J'ai essayé de modifier le fichier settings.py et django.wsgi, mais sans succès...
A priori j'ai bien tous les paquets dans l'environnement virtuel
Code :
atom                                         lxml                               pkg_resources.py                    setuptools
Crypto                                       lxml-2.3-py2.7.egg-info            pkg_resources.pyc                   setuptools-0.9.8-py2.7.egg-info
dateutil                                     _markerlib                         pycrypto-2.3-py2.7.egg-info         simplejson
distribute-0.7.3-py2.7.egg-info              mediagenerator                     pygraphviz                          simplejson-2.1.3-py2.7.egg-info
django                                       MySQLdb                            pygraphviz-1.1-py2.7.egg-info       south
Django-1.4.5-py2.7.egg-info                  _mysql_exceptions.py               pyparsing-1.5.5-py2.7.egg-info      South-0.7.4-py2.7.egg-info
django_mediagenerator-1.10.4-py2.7.egg-info  _mysql_exceptions.pyc              pyparsing.py                        xlrd
easy_install.py                              MySQL_python-1.2.3-py2.7.egg-info  pyparsing.pyc                       xlrd-0.9.2-py2.7.egg-info
easy_install.pyc                             _mysql.so                          python_dateutil-1.5-py2.7.egg-info  xlwt
gdata                                        PIL                                pytz                                xlwt-0.7.5-py2.7.egg-info
gdata-2.0.15-py2.7.egg-info                  Pillow-2.0.0-py2.7.egg-info        pytz-2013d-py2.7.egg-info
_imagingmath.so                              pip                                restkit
_imaging.so                                  pip-1.4.1-py2.7.egg-info           restkit-2.2.1-py2.7.egg-info

Qu'y a t'il de spécial dans la version 1.3 ?
Merci
René
  Répondre
#2
Comme indiqué dans le changelog (à la racine des sources), le principal changement de cette version est le passage à la version 1.4 de Django. Cette version nettoie le layout de projet, ce qui explique que le manage.py soit remonté dans l'arborescence. Cela induit aussi que les apps doivent être préfixées de 'creme.' dans le settings.py notamment, comme je l'avais décrit ici il y a quelque mois:
https://www.cremecrm.com/forum/showthread.php?tid=25

Je pense que votre problème est là ; vous avez un 'creme_core' dans votre local_settings, au lieu d'un 'creme.creme_core'. Essayez de mettre à jour votre local_settings en vous inspirant de settings.py
  Répondre
#3
Bonjour,

J'ai un peu laissé tombé quelques temps, occupé par ailleurs, et je viens de reessayer sur un serveur "neuf".
J'ai toujours des messages d'erreur, et visiblement l'installation se passe mal. J'ai détruit le serveur car j'en avais assez de tourner en rond.
Une question. Il est indiqué qu'il faut python2.6. Or Ubuntu 12.04 installe automatiquement python2.7. Est-ce que ça peut fonctionner sous python2.7 ou bien faut-il impérativement python2.6 ? Et dans ce cas, comment peut-on installer python2.6 sur Ubuntu 12.04, alors qu'il n'est plus soutenu ?
Merci

René
  Répondre
#4
Non, Python 2.7 marche très bien pour faire tourner un programme écrit pour Python 2.6. Dans la branche 2.X, la compatibilité ascendante est assurée, heureusement, donc une version supérieure fait bien tourner les programmes d'une version inférieure. Au pire des warnings peuvent apparaître, indiquant que certaines fonctions sont obsolètes (deprecated), ce qui ne les empêche pas de fonctionner (nous arrêtons d'utiliser ces fonctions lorsque nous décidons d'utiliser une version plus récente de Python). En revanche il y a une cassure avec la branche Python 3, et vous ne pouvez donc pas faire tourner Creme1.3 avec un Python 3.X.
  Répondre
#5
Bonjour,

Merci pour votre réponse.
J'ai tenté une nouvelle installation, en suivant au plus près le tutoriel pour la version 1.2, mais en adaptant ce qui me semblait devoir être adapté. J'ai essayé sans virtualenv, puis sur un nouveau serveur, avec virtualenv. A part quelques petites erreurs de frappe (dont certaines dans le tutoriel), j'ai l'impression d'arriver au bout, y compris pour la configuration apache.
Mais quand j'essaie, j'ai systématiquement la même erreur, dans l'installation sans et avec virtualenv. Il semble qu'il ne trouve pas un fichier media
Code :
Could not import _generated_media_names. This file is needed for production mode. Please run manage.py generatemedia to create it.
Request Method:    GET
Request URL:    http://95.142.165.xxx/creme_login/?next=/
Django Version:    1.4.5
Exception Type:    ImportError
Exception Value:    
Could not import _generated_media_names. This file is needed for production mode. Please run manage.py generatemedia to create it.
Exception Location:    /srv/dataxxx04/creme.xxx-conseil.com/.virtualenvs/creme/lib/python2.7/site-packages/mediagenerator/utils.py in get_production_mapping, line 68
Python Executable:    /usr/bin/python
Python Version:    2.7.3
Python Path:    
['/srv/dataxxx04/creme.xxx-conseil.com/.virtualenvs/creme/lib/python2.7/site-packages',
'/usr/lib/python2.7',
'/usr/lib/python2.7/plat-linux2',
'/usr/lib/python2.7/lib-tk',
'/usr/lib/python2.7/lib-old',
'/usr/lib/python2.7/lib-dynload',
'/usr/local/lib/python2.7/dist-packages',
'/usr/lib/python2.7/dist-packages',
'/usr/lib/pymodules/python2.7',
'/srv/dataxxx04/creme.xxx-conseil.com/creme']

J'ai bien évidemment exécuté la commande manage.py generatemedia, initialement puis une seconde fois après avoir eu le message d'erreur, mais sans succès.
Comme j'ai mis en mode debug, j'ai toute une liste d'informations, mais c'est vraiment très long pour mettre sur ce forum...
Une idée ???
Merci
René
  Répondre
#6
Bonsoir,

J'ai progressé.
Mon problème venait de la modification de structure entre la 1.2 et la 1.3. J'ai suivi à la lettre le document de "martinlbb" dans ce forum (https://www.cremecrm.com/forum/showthread.php?tid=9&pid=177#pid177), mais cela concernait la 1.2. En fait, les fichiers _generatedmedia.py et .pyc n'étaient pas dans le dossier creme, mais en amont. Je les ai remis dans /creme manuellement, modifié quelques problèmes de droit, et.... ça marche. Enfin presque.
Quand j'avais fait la première commande python manage.py syncdb, j'ai eu un prompt pour créer un utilisateur, mais j'ai récupéré une bordée de lignes absconses et je n'ai jamais pu entrer d'utilisateur. Et donc je n'arrive pas à me loger. Dans la bdd je vois bien un utilisateur root, mais aucune idée du mot de passe.
J'ai créé un superuser directement dans django
Code :
python manage.py createsuperuser --username=joe --email=joe@example.com
trouvé là https://docs.djangoproject.com/en/dev/to...er-objects. Et c'est là que j'ai compris le problème. Cela venait de mon locale pour lequel j'avais eu un message d'erreur lors de la commande
Code :
export LC_ALL=fr_FR.UTF-8
. Ceci étant réglé, j'arrive à me loger sur Crème... et j'arrive sur une autre "erreur 500". En debug, j'obtiens
Code :
DoesNotExist at /
Contact matching query does not exist.
Request Method:    GET
Request URL:    http://95.142.165.xxx/
Django Version:    1.4.5
Exception Type:    DoesNotExist
Exception Value:    
Contact matching query does not exist.
Exception Location:    /srv/xxx/creme.xxx-conseil.com/.virtualenvs/creme/lib/python2.7/site-packages/django/db/models/query.py in get, line 366
Python Executable:    /usr/bin/python
Python Version:    2.7.3
Python Path:    
['/srv/xxx/creme.xxxx-conseil.com/creme',
'/srv/xxx/creme.xxx-conseil.com/.virtualenvs/creme/lib/python2.7/site-packages',
'/srv/xxxx/creme.xxx-conseil.com/.virtualenvs/creme',
'/usr/lib/python2.7',
'/srv/xxxx/creme.xxxx-conseil.com/.virtualenvs',
'/usr/lib/python2.7/plat-linux2',
'/usr/lib/python2.7/lib-tk',
'/usr/lib/python2.7/lib-old',
'/usr/lib/python2.7/lib-dynload',
'/usr/local/lib/python2.7/dist-packages',
'/usr/lib/python2.7/dist-packages',
'/usr/lib/pymodules/python2.7',
'/srv/xxxx/creme.xxxx-conseil.com/creme']

J'ai reessayé un python manage.py creme_populate... mais sans aucun succès.
Donc je sèche.
Et question subsidiaire, comment je peux faire migrer ma base de données (mysql) depuis ma version 1.2, vers la 1.3 ? J'ai essayé en faisant un exporter puis importer dans phpmyadmin, mais j'obtiens des erreurs.

Merci
René
  Répondre
#7
Vous commettez 2 grosses erreurs :
  • Si vous tenez à maintenir une instance de Creme avec les dernières versions sorties, vous devrez apprendre à regarder le CHANGELOG.txt et le README. Ce dernier indique comment migrer vos données, notamment.

  • Vous tentez de réparer les problèmes que vous rencontrez sans essayer de les comprendre, et vos solutions de contournement créent elles-mêmes de nouveaux problèmes:
    • Le fichier _generated_media_names.py est à sa place, en revanche la configuration de votre serveur a sûrement un mauvais path, ou quelque chose comme ça. C'est bien si le déplacement corrige vos soucis, mais ça reste une bidouille cradingue.
    • Si vous n'avez aucune idée du mot de passe du user root, le plus logique était de réinitialiser son mot de passe, avec un shell Django (https://docs.djangoproject.com/en/1.4/to...t_password). Un user Creme doit toujours avoir une fiche Contact associée ; celle du user root est créée par le populate de creme_core, et celles des autres users sont bien créées si nécessaire lorsque vous passez par l'interface de configuration de Creme. Or, la commande django que vous avez utilisé ne créé pas ce Contact, d'où l'erreur 500 ; vous devez donc soit créer ce Contact dans le shell, soit supprimer ce user (et changer le mot de passe de root comme je l'ai dit évidemment).

Citation :A part quelques petites erreurs de frappe (dont certaines dans le tutoriel)

J'espère que vous avez remonté lesdites erreurs à l'auteur du tutoriel en question.

Bon courage pour la suite.
  Répondre
#8
Bonsoir,

Désolé, je suis effectivement un débutant. La dernière fois que j'ai fait de l'informatique, c'était de la programmation en Fortran sur un Vax dans les années 80 (et quand j'ai commencé c'était avec des cartes perforées). Donc effectivement, je ne suis pas à l'aise en python et encore moins en django... et je bricole comme je peux avec le peu de temps dont je dispose.
Il est fort possible qu'un path soit mal configuré. Mais j'ai essayé de suivre à la lettre le tutoriel, y compris dans la définition des path, et visiblement il a dû me manquer quelque chose, ou la définition des path n'est pas la même entre 1.2 et 1.3...
Mon problème de base de donnée n'est pas lié à la migration telle que décrite dans le README, que j'avais lu. Pour ne pas modifier ma version 1.2, j'ai créé un serveur d'essai où j'ai installé (enfin essayé) une 1.3. Puis j'ai fait un export de ma base de donnée de la 1.2, que j'ai essayé d'importer dans la bdd de la version 1.3 fraichement installée. C'est là que j'ai des problèmes.
Si je comprends bien, j'aurais dû installer une 1.2 d'essai, importer ma base, installer par dessus la 1.3 et appliquer la commande pour la migration indiquée dans le README.

Pour les fautes de frappe du tutoriel, j'aurais dû le faire, mais il s'agit de fautes mineures du genre pip installe , très faciles à corriger. Elles ne sont gênantes que si on fait des copier coller...

Pour le moment je n'ai pas de temps à passer, mais je reviendrai plus tard sur mes tentatives d'installation .

René
  Répondre


Atteindre :


Utilisateur(s) parcourant ce sujet : 1 visiteur(s)