Pregunta

IM Ejecutar un servidor Solaris que utiliza Supervisor para monitorear algunas aplicaciones de Python.

anteriormente, podría ejecutar el comando:

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

de cualquier directorio en el servidor.Hubo algunos problemas recientes y la carpeta / OPT se restauró de una copia de seguridad anterior.Esta carpeta contenía todas las aplicaciones, incluido el supervisor.

Ahora estamos enfrentando problemas donde el supervisor no iniciará las solicitudes debido a "conflictos de versiones" en pilones.

Aquí es donde se vuelve raro y no tiene sentido por qué ocurrirían estos errores.

Si ejecuto el comando Paster desde fuera del directorio del programa, se desplegará el error de conflicto de la versión.EG:

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'))

Pero si ejecuto el comando desde el interior del directorio del programa, se ejecutará bien.EG:

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

¡No puedo entender mi cabeza por qué sucedería esto!

¡Cualquier pensamiento o comentario en absoluto se aprecian !!!!

¿Fue útil?

Solución

Basado en lo que ha dicho, parece que está ejecutando dos versión diferente del Paster.La primera versión está ejecutando el paquete de pilones anteriores 0.9.7, mientras que el segundo tiene la versión más actualizada que cumple o exceda los requisitos de su aplicación.

Lo que haría es, primero, compruebe qué versión de Paster está ejecutando.Desde fuera del proyecto, simplemente ejecute:

which paster

Luego, ejecute el mismo comando nuevamente dentro del directorio del proyecto y compare los resultados.Sospecho que encontrará que los caminos difieren.Si ese es el caso, entonces todo lo que necesita hacer es actualizar la versión de Pilones para la primera versión, que supongo que es la instalación global.

Sin embargo, como otros han comentado, sería mejor ejecutar aplicaciones dentro de VirtualEnv, especialmente si parece que indica que tiene varios VirtualEnv y, por lo tanto, varios proyectos.Confíe en mí cuando digo que le salvará de un montón de dolores de cabeza más adelante, de alguien que no hizo esto originalmente.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top