Skip to main content
 首页 » 编程设计

python之为什么python找不到我安装了django-lockdown的这个模块

2025年05月04日29jyk

我有一个 Django 应用程序失败,因为它找不到我安装的模块。它叫做 Django-Lockdown。有人可以告诉我如何解决这个问题吗?

第 1 步:启动 virtualEnv 并确保已安装该模块:

$ source /opt/virtualEnvs/myApp/bin/activate 
 
 
(myApp)$ pip -r requirements.txt 
<SNIPPED> 
 
(myApp)$ pip show django-lockdown 
--- 
Name: django-lockdown 
Version: 1.0 
Location: /opt/virtualEnvs/jobBidSite/lib/python2.7/site-packages/django_lockdown-1.0-py2.7.egg 
Requires: 

第 2 步:运行 python shell 并手动导入此模块。它有效。

(myApp)$ python 
Python 2.7.6 (default, Mar 22 2014, 22:59:56) 
[GCC 4.8.2] on linux2 
Type "help", "copyright", "credits" or "license" for more information. 
>>> import lockdown 
>>> exit() 

第 3 步:启动开发服务器。它失败了,因为它说找不到这个模块。为什么?

(myApp)$ sudo python ./manage.py runserver 0.0.0.0:80 
Traceback (most recent call last): 
  File "./manage.py", line 10, in <module> 
    execute_from_command_line(sys.argv) 
  File "/usr/local/lib/python2.7/dist-packages/django/core/management/__init__.py", line 399, in execute_from_command_line 
    utility.execute() 
  File "/usr/local/lib/python2.7/dist-packages/django/core/management/__init__.py", line 392, in execute 
    self.fetch_command(subcommand).run_from_argv(self.argv) 
  File "/usr/local/lib/python2.7/dist-packages/django/core/management/base.py", line 242, in run_from_argv 
    self.execute(*args, **options.__dict__) 
  File "/usr/local/lib/python2.7/dist-packages/django/core/management/base.py", line 280, in execute 
    translation.activate('en-us') 
  File "/usr/local/lib/python2.7/dist-packages/django/utils/translation/__init__.py", line 130, in activate 
    return _trans.activate(language) 
  File "/usr/local/lib/python2.7/dist-packages/django/utils/translation/trans_real.py", line 188, in activate 
    _active.value = translation(language) 
  File "/usr/local/lib/python2.7/dist-packages/django/utils/translation/trans_real.py", line 177, in translation 
    default_translation = _fetch(settings.LANGUAGE_CODE) 
  File "/usr/local/lib/python2.7/dist-packages/django/utils/translation/trans_real.py", line 159, in _fetch 
    app = import_module(appname) 
  File "/usr/local/lib/python2.7/dist-packages/django/utils/importlib.py", line 40, in import_module 
    __import__(name) 
ImportError: No module named lockdown 

请您参考如下方法:

/opt/virtualEnvs/jobBidSite/lib/python2.7/site-packages 该模块在你的 virtualenv python 包中,你正在使用系统 python /usr/local/lib/python2.7/ 用于 Django。

不要使用sudo,它运行的是系统python。