V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
beneo
V2EX  ›  Python

django 工程放到线上机器,出现 ModuleNotFoundError: No module named 'utils' 问题

  •  
  •   beneo · 2019-03-14 16:26:50 +08:00 · 5883 次点击
    这是一个创建于 2111 天前的主题,其中的信息可能已经有所发展或是发生改变。

    django 工程,使用 virtualenv,创建了一个 app

    写了一个 utils.py 在 views 引用了 utils, 我在 pycharm 下面做的开发。 本地都 OK,但是放到开发机器上面,在启动环节就出错。

    gunicorn mybook.wsgi 运行时候出错 python3 manger runserver 启动时候出错

    错误都是一样,很不解

    python3 manage.py runserver
    Performing system checks...
    
    
    
    Unhandled exception in thread started by <function check_errors.<locals>.wrapper at 0x7fb2b2a27400>
    
    File "/home/admin/work/mybook/.env/lib/python3.7/importlib/__init__.py", line 127, in import_module
        return _bootstrap._gcd_import(name[level:], package, level)
      File "<frozen importlib._bootstrap>", line 1006, in _gcd_import
      File "<frozen importlib._bootstrap>", line 983, in _find_and_load
      File "<frozen importlib._bootstrap>", line 967, in _find_and_load_unlocked
      File "<frozen importlib._bootstrap>", line 677, in _load_unlocked
      File "<frozen importlib._bootstrap_external>", line 728, in exec_module
      File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
      File "/home/admin/work/mybook/app/urls.py", line 3, in <module>
        from scan import views
      File "/home/admin/work/mybook/app/views.py", line 5, in <module>
        import utils
    ModuleNotFoundError: No module named 'utils'
    

    ├── README.md
    ├── mybook
    │   ├── __init__.py
    │   ├── settings.py
    │   ├── urls.py
    │   └── wsgi.py
    ├── manage.py
    ├── requirements.txt
    └── app
        ├── __init__.py
        ├── admin.py
        ├── apps.py
        ├── editor.py
        ├── models.py
        ├── serializers.py
        ├── sheet.py
        ├── tests.py
        ├── uploader.py
        ├── urls.py
        ├── utils.py
        └── views.py
    
    5 条回复    2019-03-14 16:40:05 +08:00
    beviniy
        1
    beviniy  
       2019-03-14 16:35:17 +08:00   ❤️ 1
    路径错了,改成 import app.utils 试试,django 的 import 最好用基于当前项目的路径,而不是文件之间的相对路径
    beneo
        2
    beneo  
    OP
       2019-03-14 16:36:09 +08:00
    @beviniy 但是这样我的 IDE 报错了,这可怎么办啊?
    dishonest
        3
    dishonest  
       2019-03-14 16:39:30 +08:00
    @beneo 设置里面,language & framework > Django 设置一下
    beneo
        4
    beneo  
    OP
       2019-03-14 16:40:03 +08:00
    原来我 IDE 里面把 app 设置成为了 source
    beviniy
        5
    beviniy  
       2019-03-14 16:40:05 +08:00
    @beneo settings.py 中有个 path 的设置,可以把当前项目的路径加上去
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1047 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 19:45 · PVG 03:45 · LAX 11:45 · JFK 14:45
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.