python框架环境配置
2016-11-04 10:38
246 查看
在自动化框架开发和调试运行过程中,我们经常会碰到各种各样的包路径调用的问题,一会儿找不到包了,一会儿包下方找不到方法了,等等,很麻烦。
python的包调用,其实有一个很简单的办法,是把你想要添加的路径添加到python解释器的包搜索路径下,而其搜索路径就在python根路径下方的site-packages目录下,我们可以把所有要添加的路径写到一个.pth为扩展名的文件下,并把所有该文件复制到site-packages路径下就可以了,不需要的时候,我们只要去site-packages路径下把.pth文件删除即可。这样做既方便了自己扩展包的调用,也不会污染本地python环境。
以下代码就是实现的把当前框架下所有目录添加在“$PYTHON_HOME/lib/site-packages”路径下的一个.pth文件中的代码。这个代码的作用,在当我把我的python框架代码拷贝到任何一个python环境中的时候,在运行框架或者项目之前先运行一下这个代码,那么环境即可自动配置完毕。框架或项目内的所有包之间的互相调用都可以准确运行。
注意: 因为我的框架是在windows下运行,所以这里是写了一个bat文件把当前环境配置和框架启动调用写到一起了,所以,可以自主配置,无需分开操作。而因为windows和linux的目录结构不同,所以,代码并没有经过在linux下的测试,所以,linux编程系的小伙伴请注意,直接使用此代码可能会有问题。
此代码可以看作本地测试框架的可移植性的一种尝试。现分享给大家,因代码和我的框架有关联,可能部分代码在大家使用过程中并不需要,大家可以自己尝试修改使用。更多的是想把这种想法分享给大家。代码仅供参考。
以下代码是2017/6/29日进行了一版优化,提高了通用性。
python的包调用,其实有一个很简单的办法,是把你想要添加的路径添加到python解释器的包搜索路径下,而其搜索路径就在python根路径下方的site-packages目录下,我们可以把所有要添加的路径写到一个.pth为扩展名的文件下,并把所有该文件复制到site-packages路径下就可以了,不需要的时候,我们只要去site-packages路径下把.pth文件删除即可。这样做既方便了自己扩展包的调用,也不会污染本地python环境。
以下代码就是实现的把当前框架下所有目录添加在“$PYTHON_HOME/lib/site-packages”路径下的一个.pth文件中的代码。这个代码的作用,在当我把我的python框架代码拷贝到任何一个python环境中的时候,在运行框架或者项目之前先运行一下这个代码,那么环境即可自动配置完毕。框架或项目内的所有包之间的互相调用都可以准确运行。
注意: 因为我的框架是在windows下运行,所以这里是写了一个bat文件把当前环境配置和框架启动调用写到一起了,所以,可以自主配置,无需分开操作。而因为windows和linux的目录结构不同,所以,代码并没有经过在linux下的测试,所以,linux编程系的小伙伴请注意,直接使用此代码可能会有问题。
此代码可以看作本地测试框架的可移植性的一种尝试。现分享给大家,因代码和我的框架有关联,可能部分代码在大家使用过程中并不需要,大家可以自己尝试修改使用。更多的是想把这种想法分享给大家。代码仅供参考。
以下代码是2017/6/29日进行了一版优化,提高了通用性。
#coding=utf-8 import os class pyPathConfig: """ 方法用于获取当前框架的所有包路径并返回给createPthFile方法 方法中的walk()参数应该使用当前项目的根路径位置,可以指定绝对路径 为方便使用,当前写入的是获取当前路径,那么可以将此文件直接放到当前项目的根目录下即可 """ def __catchAllPath(self): rootList=[] for root,dirs,files in os.walk(os.getcwd()): if root.endswith("__pycache__")==True: pass else: rootList.append(root.replace("\\","/")) return rootList """ 将包路径写到python/Lib/site-packages路径下的pth文件下,完成路径添加 方法接受一个非必出传字符串参数,即待生成的pth文件名,如果不传,则默认传入userEnvPath """ def createPthFile(self,pthFileName="userEnvPath"): targetPath=((os.path.dirname(os.__file__)).replace("\\","/")+"/site-packages/"+pthFileName+".pth") pthfile=open(targetPath,"w") pathList=self.__catchAllPath() for path in pathList: print(path) pthfile.write(path+"\n") pthfile.close() print("环境配置完毕!") if __name__=="__main__": pathObject=pyPathConfig() pathObject.createPthFile()
相关文章推荐
- Wiki——Windows下python2.7 爬虫框架Scrapy环境配置
- Python爬虫框架Scrapy学习二记——Scrapy开发环境配置
- Python web框架Django学习(1)——在win7 64bit下配置开发环境Django:一个可以使Web开发工作愉快并且高效的Web开发框架。 使用Django,使你能够以最小的代价构建和
- 搭建python2.7环境、python与eclipse配置、以及安装Flask框架,建立web项目
- 【从零开始】Python的框架Flask环境配置流程以及Postman使用(第一课)
- 解读Zend框架(二) 环境配置
- python下的web开发框架-Django,url配置
- EditPlus中配置python,lua环境
- iis配置python运行环境
- 配置 Python 可视开发环境
- windows下Python,wxPython,py2exe开发环境安装与配置
- Python+Django在windows下的开发环境配置图解
- 【Python开发web】(1) -- 系统环境与框架的选择
- linux下eclipse配置python环境
- eclipse + Pydev 配置Python开发环境
- VC6.0中Python环境配置
- 走进Zend Framework框架编程(二):软件安装和环境配置 【转】
- 【Python开发web】(1) -- 系统环境与框架的选择
- 在 IIS6.0 中配置 Python3.0 Web 运行环境
- Zend Framework框架编程(二):软件安装和环境配置