Help

3

Can't install auto_backup module

Avatar
Cole

Hello, I'm trying to install the auto_backup module (https://apps.openerp.com/apps/modules/8.0/auto_backup/).

When I update modules to get it in odoo, this message is shown:

ImportError: This module needs pysftp to automaticly write backups to the FTP through SFTP.
Please install pysftp on your system. (sudo pip install pysftp)

I installed pysftp on my os (win7) and it's working (I can use and import the library in python codes), but I still get that error message in odoo. Do I need to install something else?

Any help is appreciated.




5 注释
头像
丢弃

Hi Cole, I'm the creator of this module. I haven't personally tested this module on Windows 7.. Only on Linux systems. In theory everything should be working since you say you can import the library in other Python files. Have you tried a reboot in the meanwhile? Just to be sure.

Avatar
Cole
-

Hi! Yes, I tried a reboot but it didn't help me.

Avatar
gunnar
-

Even though it does not help you right now (because you are already on a W7 machine) ... you will receive more support on feedback on any issues you might be dealing if you use what most of the people are using (and what Odoo is mainly built for ... and that is Ubuntu or debian).

And I have to agree with Gunnar. You should really change to Ubuntu/debian. Much more knowledge from the community, more flexibility and this module will work fine out of the box as a bonus.

Avatar
Cole
-

Thank you for the advices :)

9 答案
2
Avatar
Demian Rihs
Best Answer

You need to manually install pysftp module. 

First download the module:

wget https://pypi.python.org/packages/36/60/45f30390a38b1f92e0a8cf4de178cd7c2bc3f874c85430e40ccf99df8fe7/pysftp-0.2.9.tar.gz
tar xvzf pysftp-0.2.9.tar.gz
rm pysftp-0.2.9.tar.gz

Then install libffi:

sudo apt-get install libffi-dev

move into the exctracted pysftp-0.2.9 directory and run:

sudo python setup.py install

and finally restart odoo:

sudo service odoo-server restart

That should fix the issue

头像
丢弃
1
Avatar
wizardz
Best Answer

auto_backup module is not working with the new debiant Odoo8 Version on Ubuntu 14.04

If pysftp is installed and you want to install the auto_backup modules, it says that pysftp is not installed.

But pysftp 0.2.8 is correctly installed and tested. auto_backup module need a refresh I think.

2 注释
头像
丢弃
Avatar
wizardz
-

anybody has a fix for this issue?

Avatar
wizardz
-

Requirement already satisfied (use --upgrade to upgrade): pysftp in /usr/local/lib/python2.7/dist-packages Requirement already satisfied (use --upgrade to upgrade): paramiko>=1.7.7 in /usr/local/lib/python2.7/dist-packages (from pysftp) Cleaning up...

0
Best Answer

Hello there,

I'm sorry to warm up this old thread. But I tried all the suggested solutions here (and on some other pages I found via google).

I'm still having this paramiko not found issue. And of course I tried to (re)install paramiko and pysftp (which was successful with pip3 and force reinstall), but still not running. And YES, I did server restart (and even reboot, since I dont trust myself. ;-)

I'm on odoo 13 on a ubuntu 20.04 server, installed 3 instances of odoo with different ports.

Are there any news in teh meantime for installing auto_backup with running paramiko?

I'm really thankful for any answers.

Regards, Riccardo


P.S.: Sure, I attach my log, but it's the same as I found above :-(

Error:

Odoo Server Error
Traceback (most recent call last):
  File "/opt/odoo-demo/odoo/addons/auto_backup/models/db_backup.py", line 18, in <module>
    import paramiko
ModuleNotFoundError: No module named 'paramiko'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
  File "/opt/odoo-demo/odoo/http.py", line 624, in _handle_exception
    return super(JsonRequest, self)._handle_exception(exception)
  File "/opt/odoo-demo/odoo/http.py", line 310, in _handle_exception
    raise pycompat.reraise(type(exception), exception, sys.exc_info()[2])
  File "/opt/odoo-demo/odoo/tools/pycompat.py", line 14, in reraise
    raise value
  File "/opt/odoo-demo/odoo/http.py", line 669, in dispatch
    result = self._call_function(**self.params)
  File "/opt/odoo-demo/odoo/http.py", line 350, in _call_function
    return checked_call(self.db, *args, **kwargs)
  File "/opt/odoo-demo/odoo/service/model.py", line 94, in wrapper
    return f(dbname, *args, **kwargs)
  File "/opt/odoo-demo/odoo/http.py", line 339, in checked_call
    result = self.endpoint(*a, **kw)
  File "/opt/odoo-demo/odoo/http.py", line 915, in __call__
    return self.method(*args, **kw)
  File "/opt/odoo-demo/odoo/http.py", line 515, in response_wrap
    response = f(*args, **kw)
  File "/opt/odoo-demo/addons/web/controllers/main.py", line 1326, in call_button
    action = self._call_kw(model, method, args, kwargs)
  File "/opt/odoo-demo/addons/web/controllers/main.py", line 1314, in _call_kw
    return call_kw(request.env[model], method, args, kwargs)
  File "/opt/odoo-demo/odoo/api.py", line 387, in call_kw
    result = _call_kw_multi(method, model, args, kwargs)
  File "/opt/odoo-demo/odoo/api.py", line 374, in _call_kw_multi
    result = method(recs, *args, **kwargs)
  File "<decorator-gen-59>", line 2, in button_immediate_install
  File "/opt/odoo-demo/odoo/addons/base/models/ir_module.py", line 72, in check_and_log
    return method(self, *args, **kwargs)
  File "/opt/odoo-demo/odoo/addons/base/models/ir_module.py", line 463, in button_immediate_install
    return self._button_immediate_function(type(self).button_install)
  File "/opt/odoo-demo/odoo/addons/base/models/ir_module.py", line 573, in _button_immediate_function
    modules.registry.Registry.new(self._cr.dbname, update_module=True)
  File "/opt/odoo-demo/odoo/modules/registry.py", line 86, in new
    odoo.modules.load_modules(registry._db, force_demo, status, update_module)
  File "/opt/odoo-demo/odoo/modules/loading.py", line 421, in load_modules
    processed_modules += load_marked_modules(cr, graph,
  File "/opt/odoo-demo/odoo/modules/loading.py", line 313, in load_marked_modules
    loaded, processed = load_module_graph(
  File "/opt/odoo-demo/odoo/modules/loading.py", line 182, in load_module_graph
    load_openerp_module(package.name)
  File "/opt/odoo-demo/odoo/modules/module.py", line 376, in load_openerp_module
    __import__('odoo.addons.' + module_name)
  File "/opt/odoo-demo/odoo/addons/auto_backup/__init__.py", line 3, in <module>
    from . import models
  File "/opt/odoo-demo/odoo/addons/auto_backup/models/__init__.py", line 3, in <module>
    from . import db_backup
  File "/opt/odoo-demo/odoo/addons/auto_backup/models/db_backup.py", line 20, in <module>
    raise ImportError(
ImportError: This module needs paramiko to automatically write backups to the FTP through SFTP. Please install paramiko on your system. (sudo pip3 install paramiko)paramiko)
头像
丢弃
0
Best Answer

Hi guys,

This issue can have two reasons. The first being that Odoo/Python cannot access pysftp, the second being an underlaying package that is used by pysftp that is causing issues. First test issue 1, since it is easier:

It looks like sometimes the pysftp library is restricted too much on Linux, in which case Odoo cannot access it. The easiest solution to change this is to give the main pysftp repository (the package) more rights:

sudo chmod -R 755 /usr/local/lib/python2.7/dist-packages/pysftp

In some cases it looks like you even need a 777 in regards to rights. After doing this and restarting the Odoo service you should be able to use the pysftp library with Odoo though.

If this does not work the underlaying problem may be coming from Paramiko (or a package that Paramiko requires) which pysftp needs. You can test this by creating a simple Python file that imports pysftp and by just running it. If you get an output along the lines of:

administrator@admin:~$ python pysftp_tester.py Traceback (most recent call last):
  File "pysftp_tester.py", line 1, in <module>    import pysftp  File "build/bdist.linux-x86_64/egg/pysftp/__init__.py", line 12, in <module>  File "/usr/local/lib/python2.7/dist-packages/paramiko/__init__.py", line 30, in <module>    from paramiko.transport import SecurityOptions, Transport  File "/usr/local/lib/python2.7/dist-packages/paramiko/transport.py", line 32, in <module>    from cryptography.hazmat.backends import default_backend
This means that there is an underlaying package that is missing. Now re-run the installer for cryptography:
pip install cryptography --force-reinstall
After running this command test again if your simple Python file works that imports pysftp, it should now be fixed! If the import of pysftp succeeds you need to restart the odoo service and install the auto_backup module.


Regards,
Yenthe

头像
丢弃
0
Avatar
YASSER LIMAM
Best Answer

  • Instllation of librairies and dépendances 

          • sudo apt-get install python-pip python-dev build-essential
          • sudo apt-get install build-essential libssl-dev libffi-dev python-dev
          • sudo pip install --upgrade pip sudo pip install --upgrade virtualenv
          • sudo pip install pysftp
头像
丢弃
0
Avatar
Keenmeng Lew
Best Answer

Hi!

I use Odoo v9 Community.  After moving the auto_backup folder into my addons folder and restarted, I get an Internal Server Error.  Is there something else I might have missed?


KM 

头像
丢弃
0
Avatar
ray@vcloud9.com
Best Answer

Has this issue been addressed? I have been getting the same errors with Odoo 9ent....cant seem to get this module working, exact same issue described here.

头像
丢弃
0
Avatar
AKRAM
Best Answer

I'm also getting the error that pysftp is not installed when it actually is installed.

any explication for it please?

头像
丢弃
0
Avatar
Edser Solis
Best Answer

Have you got any fix for this? I'm also getting the error that pysftp is not installed when it actually is installed.

头像
丢弃