zoukankan      html  css  js  c++  java
  • Python跨目录导包踩坑记录

    Outline

    写了个Flask+celery+Redis的项目,目录结构如下:

    muji-data-job-pyexecutor
        │  .gitignore
        │  app.py  # Flask app,如果想项目后续扩展变大,可用蓝图管理
        │  README.md
        │  requirements.txt
        │
        ├─config
        │      config.yaml
        │
        ├─my_celery  # Celery 任务 
        │  │  main.py
        │  │  settings.py
        │  │
        │  ├─clean
        │  │      tasks.py
        │  │
        │  ├─exchange_spider
        │  │      tasks.py
        │  │
        │  └─fix
        │         tasks.py
        │
        ├─testcase
        │      compare_df.py
        │
        └─util
              spiderUtils.py
              utils.py

    准备从 clean/tasks.py 导入 util/utils.py 来使用:

    from util.utils import CallBack

    在pycharm下是OK的(pycharm会动态解决跨目录导包)

    但在terminal下运行,就报错说找不到 util 

    就选择用 sys.path.append() 把所需要导入的包加入 sys环境;

    但加了之后依然报错,下面是我加的方式:

    sys.path.append(‘D:git_projectmuji-data-job-pyexecutorutil’)
    加了之后依然提示找不到 util

    解决

     明明已经把util加到sys环境里了,有图有真相~~

    但是还是提示没这个包,头都大了!

    后来想了下,上面已经把util加到sys下了,我去找util的确找不到,如果我在muji-data-job-pyexecutor 下导入按理说是可以找到 util的;

    因此直接加到muji-data-job-pyexecutor,然后导包~ 可以了~~
    (下班了下班了~)

  • 相关阅读:
    面向对象编程——设计模式之一
    mysql死锁——mysql之四
    Mysql基本类型(字符串类型)——mysql之二
    Mysql基本类型(五种年日期时间类型)——mysql之二
    Mysql基础教程——mysql之一
    JVM启动参数手册——JVM之八
    Thinkphp 框架2
    Thinkphp 框架
    流程(下)
    流程(上)
  • 原文地址:https://www.cnblogs.com/bigtreei/p/14268865.html
Copyright © 2011-2022 走看看