why is pip freeze not showing a module although pip install says it's already installed

◇◆丶佛笑我妖孽 提交于 2019-12-12 04:06:49

问题


I'm following these instructions to install odoo on mac. It required that I install all the python modules for the user like so:

$ sudo pip install -—user -r requirements.txt

(*note about the --user part)

However when I run odoo, I get this error:

$ ./odoo-bin
Traceback (most recent call last):
  File "./odoo-bin", line 5, in <module>
    __import__('pkg_resources').declare_namespace('odoo.addons')
  File "/Library/Python/2.7/site-packages/setuptools-36.5.0-py2.7.egg/pkg_resources/__init__.py", line 2241, in declare_namespace
  File "/Library/Python/2.7/site-packages/setuptools-36.5.0-py2.7.egg/pkg_resources/__init__.py", line 2257, in declare_namespace
  File "/Library/Python/2.7/site-packages/setuptools-36.5.0-py2.7.egg/pkg_resources/__init__.py", line 2192, in _handle_ns
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/pkgutil.py", line 246, in load_module
    mod = imp.load_module(fullname, self.file, self.filename, self.etc)
  File "/opt/odoo/odoo-10.0/odoo/__init__.py", line 64, in <module>
    import report
  File "/opt/odoo/odoo-10.0/odoo/report/__init__.py", line 5, in <module>
    from . import custom
  File "/opt/odoo/odoo-10.0/odoo/report/custom.py", line 20, in <module>
    from . import render
  File "/opt/odoo/odoo-10.0/odoo/report/render/__init__.py", line 4, in <module>
    from .simple import simple
  File "/opt/odoo/odoo-10.0/odoo/report/render/simple.py", line 8, in <module>
    import reportlab.lib
ImportError: No module named reportlab.lib

I noticed that this reportlab is available in requirements.txt:

reportlab==3.3.0

however, if I run this command

pip freeze | grep reportlab

I get nothing, but also when I run this command

sudo pip install --user reportlab

I get the following:

$ sudo pip install --user reportlab

The directory '/Users/odoo/Library/Caches/pip/http' or its parent directory is not owned by the current user and the cache has been disabled. Please check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.
The directory '/Users/odoo/Library/Caches/pip' or its parent directory is not owned by the current user and caching wheels has been disabled. check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.
Requirement already satisfied: reportlab in /Users/odoo/Library/Python/2.7/lib/python/site-packages
Requirement already satisfied: pillow>=2.4.0 in /Users/odoo/Library/Python/2.7/lib/python/site-packages (from reportlab)
Requirement already satisfied: pip>=1.4.1 in /Users/odoo/Library/Python/2.7/lib/python/site-packages (from reportlab)
Requirement already satisfied: setuptools>=2.2 in /Library/Python/2.7/site-packages/setuptools-36.5.0-py2.7.egg (from reportlab)
Requirement already satisfied: olefile in /Users/odoo/Library/Python/2.7/lib/python/site-packages (from pillow>=2.4.0->reportlab)

I have tried force reinstalling as suggested here but that didn't do much.

Ideas?


回答1:


inspired by dsgdfg's comment.. I simply followed installation instructions here.. and it worked just fine

update

the above isn't much a solution, b/c i had to go back and install every library mentioned in requirements.txt manually!! i just created a virtual env and it ran without a hitch from first attempt!



来源:https://stackoverflow.com/questions/46337687/why-is-pip-freeze-not-showing-a-module-although-pip-install-says-its-already-in

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!