Error while migrating

Hi there,
While migrating running the following command encountered an error.

Traceback (most recent call last):
File “/usr/lib/python2.7/runpy.py”, line 162, in _run_module_as_main
main”, fname, loader, pkg_name)
File “/usr/lib/python2.7/runpy.py”, line 72, in _run_code
exec code in run_globals
File “/home/ujjawal/frappe-bench/apps/frappe/frappe/utils/bench_helper.py”, line 79, in
main()
File “/home/ujjawal/frappe-bench/apps/frappe/frappe/utils/bench_helper.py”, line 16, in main
click.Group(commands=commands)(prog_name=‘bench’)
File “/home/ujjawal/frappe-bench/env/local/lib/python2.7/site-packages/click/core.py”, line 716, in call
return self.main(*args, **kwargs)
File “/home/ujjawal/frappe-bench/env/local/lib/python2.7/site-packages/click/core.py”, line 696, in main
rv = self.invoke(ctx)
File “/home/ujjawal/frappe-bench/env/local/lib/python2.7/site-packages/click/core.py”, line 1060, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File “/home/ujjawal/frappe-bench/env/local/lib/python2.7/site-packages/click/core.py”, line 1060, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File “/home/ujjawal/frappe-bench/env/local/lib/python2.7/site-packages/click/core.py”, line 889, in invoke
return ctx.invoke(self.callback, **ctx.params)
File “/home/ujjawal/frappe-bench/env/local/lib/python2.7/site-packages/click/core.py”, line 534, in invoke
return callback(*args, **kwargs)
File “/home/ujjawal/frappe-bench/env/local/lib/python2.7/site-packages/click/decorators.py”, line 17, in new_func
return f(get_current_context(), *args, **kwargs)
File “/home/ujjawal/frappe-bench/apps/frappe/frappe/commands/init.py”, line 24, in _func
ret = f(frappe._dict(ctx.obj), *args, **kwargs)
File “/home/ujjawal/frappe-bench/apps/frappe/frappe/commands/site.py”, line 209, in migrate
migrate(context.verbose, rebuild_website=rebuild_website)
File “/home/ujjawal/frappe-bench/apps/frappe/frappe/migrate.py”, line 32, in migrate
frappe.model.sync.sync_all(verbose=verbose)
File “/home/ujjawal/frappe-bench/apps/frappe/frappe/model/sync.py”, line 19, in sync_all
sync_for(app, force, verbose=verbose)
File “/home/ujjawal/frappe-bench/apps/frappe/frappe/model/sync.py”, line 38, in sync_for
folder = os.path.dirname(frappe.get_module(app_name + “.” + module_name).file)
File “/home/ujjawal/frappe-bench/apps/frappe/frappe/init.py”, line 654, in get_module
return importlib.import_module(modulename)
File “/usr/lib/python2.7/importlib/init.py”, line 37, in import_module
import(name)
File “/home/ujjawal/frappe-bench/apps/frappe/frappe/email/init.py”, line 7, in
from frappe.email.email_body import get_email
File “/home/ujjawal/frappe-bench/apps/frappe/frappe/email/email_body.py”, line 6, in
from frappe.utils.pdf import get_pdf
File “/home/ujjawal/frappe-bench/apps/frappe/frappe/utils/pdf.py”, line 9, in
from pyPdf import PdfFileWriter, PdfFileReader
ImportError: No module named pyPdf

What can be wrong?

install pypdf in your frappe environment

use bench update --requirements or either manually install the requirement using ./env/bin/pip install pypdf

Thanks, Makarand

1 Like

How to get it linked to frappe?

Thank You sir it solved the problem.
Appreciate it.