python项目目录管理
来源:互联网 发布:asp.net 微信支付源码 编辑:程序博客网 时间:2024/05/16 09:41
最近碰到了一个头疼的关于项目import的问题, 由于是同一个人开发的项目, 目录结构很相似
A
----src
--utils
----logs
----scripts
B
----src
--utils
----logs
----scripts
上面是两个目录, 都具有相同的目录结构, 每个人在自己的项目里都这么使用 import utils.time_util.func,
然后把自己项目的src目录加入PYTHONPATH,
这样的结果就是你在不知不觉中使用了别的项目的package, 如果别人修改了time_util.func, 那么就会出现不可预料的结果.
想了一下解决办法大致有以下几个:
1. 将公用的一些utils单独建立项目, 每个项目需要使用的时候checkout.
优点: 只需要维护一份公共的通用utils
缺点: 还是无法解决需要单独定制的utils
2.将项目目录顶级的父目录加入PYTHONPATH, 比如上面加入的不是A/src, 而是A/../
优点: 不会出现混乱
缺点: 每个都要如下使用 from A.src.utils.time_util import func, 导入路径太复杂.
3. 不使用PYTHONPATH, 项目文件都通过sys.path.append方式, 将项目的src目录加入, 然后再import包.
优点: 方便定制, 不会混乱
缺点: 多级目录sys.path.append不现实
目前还没想到有更好的方法, 还要去借鉴一下再继续更新.
update:
最近好像发现了一个virtualenv的东西可以实现这个 , 好好研究下
- python项目目录管理
- 《PowRise项目管理》目录
- qtcreator项目目录管理
- Go项目目录管理
- iOS项目目录管理
- Go项目目录管理
- Go项目目录管理
- python项目目录结构
- 项目管理实践教程 目录
- 项目管理文档目录结构
- 信息系统项目管理师目录
- 信息系统项目管理师 -- 目录
- 信息系统项目管理教程目录
- Python项目管理
- Python项目文件管理
- vs2008 vc项目 文件目录的管理
- VS2008中VC项目文件目录管理
- VS2008中VC项目文件目录管理
- 解决VS2010 部署SharePoint 2010 Solution- Recyle IIS Application Pool Err
- HDMI之EDID分析 .
- weka使用
- Android 经验积累之BUG解决方法
- E2 (b)
- python项目目录管理
- Android SDK Manager无法更新的解决
- JavaScript中的匿名函数及函数的闭包
- HDU4347 The Closest M Points
- 【打渔】CodeForce Round 197 Div.2 Problem_A
- 浅谈百度360T盘大战
- Exercises 3.3
- JavaScript跨域总结与解决办法
- CSS3 圆角(border-radius)