Python跨目录导包踩坑记录

摘要:
后来,我想了想。以上内容已将util添加到Sys。我找不到util。如果我在muji数据作业pyexecutor下导入它,我可以找到util;因此,将其直接添加到muji数据作业pyexecutor,然后导出包~~

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

解决

Python跨目录导包踩坑记录第1张

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

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

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

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

免责声明:文章转载自《Python跨目录导包踩坑记录》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇bzoj4591 [Shoi2015]超能粒子炮·改sqlserver 实现数据变动触发信息下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Python入门教程(2)

人生苦短,我玩蛇0.0!   Python(英语发音:/ˈpaɪθən/), 是一种面向对象、解释型计算机程序设计语言,由Guido van Rossum于1989年底发明,第一个公开发行版发行于1991年,Python 源代码同样遵循 GPL(GNU General Public License)协议。Python语法简洁而清晰,具有丰富和强大的类库。...

eclipse安装插件的方法,以python为例子

一 转载自:http://www.cnblogs.com/linzhenjie/articles/2639113.html 1、基本需求     1、Eclipse 集成开发环境下载 http://115.com/file/c2vz7io5    JDK6下载 http://115.com/file/c2vz7idq     2、Pydev插件下载  ht...

python——模块(Module)的概念、使用以及安装第三方模块

一、模块定义 python中,一个.py文件就是一个模块(Module)。使用模块的好处:1、提高了代码的可维护性。我们把函数进行分组,分别放在不同的模块中。2、编写代码不必要从0开始,当一个模块编写完毕,就可以被其他的模块引用。python有很多内置的模块和第三方模块供引用。3、可以避免函数名和变量名重复。相同的函数名和变量名可以同时存在于不同的模块中。...

离线安装python的ibm_db模块

目前手头的项目是一个UI自动化框架,其中有些模块的功能需要与DB2数据库交互,于是百度了一下python操作DB2的模块是 ibm_db。 然而我的工作机器是一台windows堡垒机,不能联网,固不能直接使用pip进行安装,所以只能使用离线安装包了。 百度了一下,由于ibm_db模块的安装依赖于其他文件,所以需要下载好几个文件,按照百度上的方法试了一通,然...

python 基础 5.1 python 构造器

一. 类的构造器 __init__ 构造函数,在生成对象时调用。由于类可以起到模板的作用,因此,可以在创建实例的时候,把一些我们认为必须绑定的属性强制填写进去。通过定义一个特殊的__init__方法,在创建实例的时候,就把 name score 等属性上去。默认的属性可以写在__init__ 下面。 #/usr/bin/python #coding=ut...

python- 双层装饰器 字符串格式化 python模块 递归 生成器 迭代器 序列化

1.双层装饰器 #!/usr/bin/env python3 # -*- coding: utf-8 -*- # author:zml LOGIN_INFO=False IS_ADMIN=False defcheck_log(func): definner(): res=func() ifLOGIN_INFO: print('验证成功!') return...