python中包引入遇到的问题
最近在用python的flask时候发现一点问题,代码组织如下
|-app|-__init__.py|-views.py|-operations.py|-xxx.py
|-run.py
按照python的约定,app作为一个包(package),引入到run.py当中
from app import app
在app/__init__.py中加入需要引入的包
from app import views,operations,xxx
按照这样的结构运行整个项目是ok的
operations.py 写了一些后台任务的逻辑,其中有一些对象是从__init__.py当中引入的
from app import app, db_session, alarm_user, logger
单独运行operations.py来调试一部分代码时候发现了问题
if __name__ == "__main__":#print get_password()#print get_replication()print refresh_instance()
在PyCharm当中运行正常,但在命令行环境下无法运行,会出现如下错误:
#python operations.py
Traceback (most recent call last):File "operations.py", line 3, in <module>from app import app, db_session, alarm_user, logger
ImportError: No module named app
思索之后发现了玄机,PyCharm运行是以项目的根目录作为程序运行环境的。当进入命令行之后,我们运行operations.py时的运行环境实际是在app/
目录下,因此解析app包就失败了。
解决方法,扩展python运行环境,把根目录引入运行环境
#!/bin/env python
# -*- coding: utf-8 -*-
import sys
sys.path.append("../")from app import app, db_session, alarm_user, logger
python中包引入遇到的问题相关推荐
- python怎么导入包-如何理解Python中包的引入
Python的from import *和from import *,它们的功能都是将包引入使用,但是它们是怎么执行的以及为什么使用这种语法呢? 从一模块导入全部功能 from import * me ...
- python怎么导入模块-Python中如何引入第三方模块
Python中怎么使用第三方模块? 在Python可以在代码中导入模块,然后就可以使用第三方模块了. import 语句 想使用Python源文件,只需在另一个源文件里执行import语句,语法如下: ...
- python中包的循环导入_具有继承的包中的循环导入依赖项
这是一个可怕的Python循环导入参数,但是,IMHO,您可以有一个优秀的设计,仍然需要循环引用.在 所以,试试这个方法: 在东西.py公司名称:class Thing(Base): def acti ...
- python导包的问题_python中包引入遇到的问题
最近在用python的flask时候发现一点问题,代码组织如下 |-app |-__init__.py |-views.py |-operations.py |-xxx.py |-run.py 按照p ...
- Python中包含义及其定义
对于一个需要实际应用的模块而言,往往会具有很多程序单元,包括变量.函数和类等,如果将整个模块的所有内容都定义在同一个 Python 源文件中,这个文件将会变得非常庞大,显然并不利于模块化开发. 什么是 ...
- Python中包(package)的调用方式
python 是通过module组织代码的,每一个module就是一个python文件,但是modules是通过package来组织的. 如果我们自己写着玩,有的时候就是一两个Python文件在同级目 ...
- python中如何引入π_python如何计算π
展开全部 #coding=utf-8 ''' Created on 2014-11-04 @author: Neo ''' import sys import math from decimal im ...
- python从包中导入模块_Python中包,模块导入的方法
Python中包,模块导入的方法 http://www.cnblogs.com/allenblogs/archive/2011/05/24/2055149.html 1. import modname ...
- python中filepath路径怎么写_详解Python中的路径问题
1. 绝对路径引入 Python 在搜索模块时,依次搜索sys.path里的位置,直到找到模块为止.下面命令可以查看当前的搜索路径: import sys print(sys.path) sys.pa ...
最新文章
- Redis客户端JetCache的单机版和集群版的配置
- php tp3 操作绑定到类,快速入门 17:操作绑定到类
- 在lnmp1.3布置的web服务器上运行thinkphp3.2.3项目pathinfo路径模式
- sharding-jdbc整合mybatis
- 将Java向前推进? 一个定义。 一年回顾。
- 全境封锁服务器维护 2018,全境封锁全域事件2018年8月活动什么时候开始_全域事件怎么玩...
- tcp和udp的区别和三次 四次挥握手 http://www.cnblogs.com/bizhu/archive/2012/05/12/2497493.html...
- linux环境 Oracle客户端连接远程Oracle服务端
- macos可以升级到指定版本吗_承装承修承试可以跨级升级吗?
- python 目录 文件名_python目录与文件名操作
- 挖出一个面试刷题的宝藏资源,赶紧收下了~
- 《MySQL必知必会》学习笔记——1.书中样例表的生成
- 计算机视觉与医疗PPT,图像理解与计算机视觉经典案例.ppt
- EL表达式基础语法总结
- Date int java_java.util.Calendar.set(int year, int month, int date)方法实例
- crm如何做好客户关系管理?
- php自动收录导航程序,2020最新自动收录自带查反链导航源码 自动收录导航批量检查反链系统简介程序...
- Python 成绩统计
- 屏幕分辨率、像素相关概念拾遗
- 在运行ros的Python文件时报找不到路径
热门文章
- excel首行空不能导入access_Excel数据导入Access,导入不完全解决方法
- kotlin设置按钮不可点击_全彩LED显示屏软件空点功能如何设置、使用?
- arm体系结构与编程_ARM体系结构基础(1)
- json接口文档模板_在.Net Core WebAPI下给Swagger增加导出离线文档功能
- python3.7.4安装教程win7_Window10下python3.7 安装与卸载教程图解
- activiti Stream之list转map及问题解决
- sql和mysql同时配置_jfinal同时配置mssql和mysql混动数据源
- 从高频问题透视核心原理(转)
- windows查看usb信息命令_Linux dumpe2fs命令:查看文件系统信息
- smbus使用 树莓派_Linux控制I2C/SMBus设备