Question

im exécutant un serveur Solaris qui utilise superviseur pour surveiller certaines applications Python.

précédemment, je pourrais exécuter la commande:

paster serve /opt/pyapps/menuadmin/prod.ini

de n'importe quel répertoire sur le serveur.Il y avait des problèmes récents et le dossier / opt a été restauré à partir d'une sauvegarde précédente.Ce dossier contenait toutes les applications, y compris le superviseur.

Nous sommes maintenant confrontés à des problèmes dans lesquels le superviseur ne démarre pas les applications en raison de "conflits de version" dans les pylônes.

C'est là que cela devient étrange et cela n'a aucun sens pourquoi ces erreurs se produiraient.

Si j'exécute la commande routine de l'extérieur du répertoire de programme, il lancera l'erreur de conflit de la version.Par exemple:

cd /
paster serve /opt/pyapps/menuadmin/prod.ini
Traceback (most recent call last):
  File "/opt/csw/bin/paster", line 8, in <module>
    load_entry_point('PasteScript==1.7.5', 'console_scripts', 'paster')()
  File "/opt/csw/lib/python2.6/site-packages/PasteScript-1.7.5-py2.6.egg/paste/script/command.py", line 93, in run
    commands = get_commands()
  File "/opt/csw/lib/python2.6/site-packages/PasteScript-1.7.5-py2.6.egg/paste/script/command.py", line 135, in get_commands
    plugins = pluginlib.resolve_plugins(plugins)
  File "/opt/csw/lib/python2.6/site-packages/PasteScript-1.7.5-py2.6.egg/paste/script/pluginlib.py", line 82, in resolve_plugins
    pkg_resources.require(plugin)
  File "/opt/csw/lib/python2.6/site-packages/setuptools-0.6c9-py2.6.egg/pkg_resources.py", line 626, in require
  File "/opt/csw/lib/python2.6/site-packages/setuptools-0.6c9-py2.6.egg/pkg_resources.py", line 528, in resolve
pkg_resources.VersionConflict: (Pylons 0.9.7 (/opt/csw/lib/python2.6/site-packages/Pylons-0.9.7-py2.6.egg), Requirement.parse('Pylons>=0.10'))

Mais si j'exécute la commande de l'intérieur du répertoire de programme, cela fonctionnera bien.Par exemple:

cd /opt/pyapps/menuadmin/
paster serve /opt/pyapps/menuadmin/prod.ini
Starting server in PID 29902.
serving on http://127.0.0.1:3002

Je ne peux absolument pas me faire la tête pourquoi cela arriverait!

Toutes les pensées ou commentaires sont appréciés !!!!

Était-ce utile?

La solution

Sur la base de ce que vous avez dit, il semble que vous exécutez deux versions différentes de Sâpilleuses.La première version exécute l'ancien pylône pylône 0.9.7, tandis que la seconde dispose de la version plus à jour qui répond ou dépasse les exigences de votre application.

Ce que je ferais, c'est d'abord vérifier quelle version de Soupast vous exécutez.De l'extérieur du projet vient de courir:

which paster

puis exécutez la même commande dans le répertoire de projet et comparez les résultats.Je soupçonne que vous constaterez que les chemins diffèrent.Si tel est le cas, tout ce que vous avez à faire est de mettre à jour la version de Pylons pour la première version, que je devine est l'installation globale.

Cependant, comme d'autres ont commenté, il serait préférable d'exécuter des applications au sein de Virtualenv, en particulier si vous semblez indiquer que vous avez plusieurs projets virtualis et donc plusieurs projets.Croyez-moi quand je dis que cela vous évitera des charges de maux de tête plus tard, de quelqu'un qui n'a pas fait cela à l'origine.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top