Eugeny / ajenti-v

Virtual Hosting addon for Ajenti
ajenti.org/#product-ajenti-v
MIT License
225 stars 80 forks source link

Force ajenti to use python 2.7 or 3.4? #236

Open noizo opened 8 years ago

noizo commented 8 years ago

Hi.

I'm having an issue with running ajenti on centos 6 with default python 2.6 installed. I have installed python 2.7 and 3.4 from ius repo, but ajenti wont grab that install, and still fails to start.

Here is the log

Ajenti bug report

Info Value
Ajenti 1.2.23.8
Platform centos / centos / Linux 2.6.32-042stab116.1 x86_64
Architecture x86_64 x86_64
Python 2.6.6
Installation 14534132
Debug True
Catcher report Failed to upload traceback
Loaded plugins logs, main
Library Version
gevent 1.0.1
greenlet 0.4.2
reconfigure 0.1.77
requests 2.6.0
psutil 0.6.1
Traceback (most recent call last):
  File "/usr/bin/ajenti-panel", line 133, in <module>
    core.run()
  File "/usr/lib/python2.6/site-packages/ajenti/core.py", line 88, in run
    ajenti.plugins.manager.load_all()
  File "/usr/lib/python2.6/site-packages/ajenti/plugins/__init__.py", line 266, in load_all
    self.load_recursive(item[0])
  File "/usr/lib/python2.6/site-packages/ajenti/plugins/__init__.py", line 287, in load_recursive
    if not self.load_recursive(e.dependency.plugin_name):
  File "/usr/lib/python2.6/site-packages/ajenti/plugins/__init__.py", line 277, in load_recursive
    return self.load(name)
  File "/usr/lib/python2.6/site-packages/ajenti/plugins/__init__.py", line 324, in load
    dependency.check()
  File "/usr/lib/python2.6/site-packages/ajenti/plugins/__init__.py", line 67, in check
    if not self.satisfied():
  File "/usr/lib/python2.6/site-packages/ajenti/plugins/__init__.py", line 58, in satisfied
    self._was_satisfied = self.is_satisfied()
  File "/usr/lib/python2.6/site-packages/ajenti/plugins/__init__.py", line 131, in is_satisfied
    return subprocess.call(['which', self.binary_name]) == 0
  File "/usr/lib64/python2.6/site-packages/gevent/subprocess.py", line 115, in call
    return Popen(*popenargs, **kwargs).wait()
  File "/usr/lib/python2.6/site-packages/ajenti/compat.py", line 26, in Popen
    *args, **kwargs)
  File "/usr/lib64/python2.6/site-packages/gevent/subprocess.py", line 238, in __init__
    errread, errwrite)
  File "/usr/lib64/python2.6/site-packages/gevent/subprocess.py", line 756, in _execute_child
    raise child_exception
OSError: [Errno 2] No such file or directory

Log content:

2016-06-24 14:23:32,252 INFO     ajenti-panel.<module>(): Using config file /etc/ajenti/config.json
2016-06-24 14:23:32,272 INFO     ajenti-panel.<module>(): Ajenti starting in foreground
2016-06-24 14:23:32,331 INFO     registry.register_crypt_handler(): registered crypt handler 'sha512_crypt': <class 'passlib.handlers.sha2_crypt.sha512_crypt'>
2016-06-24 14:23:32,401 DEBUG    compat.Popen(): Popen: git describe --tags 2> /dev/null
2016-06-24 14:23:32,416 DEBUG    compat.Popen(): Popen: ['lsb_release', '-sd']
2016-06-24 14:23:32,421 DEBUG    compat.Popen(): Popen: ['uname', '-mrs']
2016-06-24 14:23:32,425 INFO     core.run(): Ajenti 1.2.23.8 running on platform: centos
2016-06-24 14:23:32,426 DEBUG    __init__.load(): Loading plugin logs
2016-06-24 14:23:32,427 DEBUG    __init__.load_recursive(): Preloading plugin dependency: main
2016-06-24 14:23:32,428 DEBUG    __init__.load(): Loading plugin main
2016-06-24 14:23:32,435 DEBUG    __init__.load(): Loading plugin logs
2016-06-24 14:23:32,437 DEBUG    __init__.load(): Loading plugin tasks
2016-06-24 14:23:32,438 DEBUG    __init__.load_recursive(): Preloading plugin dependency: cron
2016-06-24 14:23:32,438 DEBUG    __init__.load(): Loading plugin cron
2016-06-24 14:23:32,439 DEBUG    compat.Popen(): Popen: ['which', 'crontab']
2016-06-24 14:23:32,444 ERROR    core.handle_crash(): Fatal crash occured`

How can i force ajenti to start using new python installations?