python导包的问题_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
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 post有随机字符串_Python 中的POST/GET包构建以及随机字符串的生成
现在,我们来用Python,创建GET包和POST包. 至于有什么用处,大家慢慢体会. Python 中包含了大量的库,作为一门新兴的语言,Python 对HTTP有足够强大的支持. 现在,我们引入新 ...
- python从包中导入模块_Python中包,模块导入的方法
Python中包,模块导入的方法 http://www.cnblogs.com/allenblogs/archive/2011/05/24/2055149.html 1. import modname ...
- python下载哪一个安装包_python中正确安装对应版本的包
python在写机器学习的代码过程中,需要引入如numpy.matpoltlib.pandas等等等.有时候直接pip install+对应的包名并不能正确安装,或者安装后依旧会出现安装不完全的情况. ...
- python 不安全的包或方法_Python中的10个常见安全漏洞及修复方法
写安全的代码很困难,当你学习一门编程语言.一个模块或框架时,你会学习其使用方法.在考虑安全性时,你需要考虑如何避免代码被滥用,Python也不例外,即使在标准库中,也存在着许多糟糕的实例.然而,许多 ...
- python中模块和包是什么_Python中模块和包的概念
将所有代码放入一个py文件:无法维护 如果将代码分拆放入多个py文件,好处: 同一个名字的变量互不影响 模块a 模块b | | V V #a.py #b.py x = 5 x = 'str' def ...
- python 抓包解析数据_Python抓包并解析json爬虫的完整实例代码
Python抓包并解析json爬虫 在使用Python爬虫的时候,通过抓包url,打开url可能会遇见以下类似网址,打开后会出现类似这样的界面,无法继续进行爬虫: 例如: 需要爬取网页中第二页的数据时 ...
- python包怎么用_python的包怎么应用
python的包怎么应用 发布时间:2020-08-26 11:26:33 来源:亿速云 阅读:97 作者:Leah 这篇文章运用简单易懂的例子给大家介绍python的包怎么应用,代码非常详细,感兴趣 ...
- python常用函数的用法_python中常用函数整理
1.map map是python内置的高阶函数,它接收一个函数和一个列表,函数依次作用在列表的每个元素上,返回一个可迭代map对象. class map(object):""&qu ...
- python什么是可变参数_python中的可变参数和不可变参数
原博文 2016-11-08 21:35 − 知识点:Python中,万物皆对象. python中不存在所谓的传值调用,一切传递的都是对象的引用,也可以认为是传址. 一.可变对象和不可变对象 Pyth ...
最新文章
- 爬虫图片href是html图片,python爬虫取图片详解,
- 互联网大脑,城市大脑的“大脑”究竟什么含义?
- (转)分布式文件存储FastDFS(五)FastDFS常用命令总结
- SQL查询案例:行列转换[行转列, 使用 CASE WHEN 处理]
- JQuery DOM基本操作
- 近世代数--群同构--第三同构定理
- 【转】LUA内存分析
- linux拒绝sftp连接,linux服务器拒绝sftp
- JAVA排序算法之插入排序
- 前端学习之JavaScript第二天学习
- JavaWeb之Filter过滤器
- 这年头「野路子」产品太多了
- 第六章 自动测试实施(上)
- 火狐浏览器安装插件“组件未验证无法安装”问题解决
- nodejs mysql嵌套查询_nodejs+mysql嵌套查询的问题
- 中国IT排名百强公司 .
- mysql高效查询_mysql 高效率查询背景
- 记湖南省第十六届软件设计大赛
- 世界期货市场竞争格局的变迁
- struts2接收文件全是后缀名tmp解决办法