首页 / 知识
关于distutils:在Python模块发行版中查找文件
2023-04-13 21:48:00

Finding a file in a Python module distribution本问题已经有最佳答案,请猛点这里访问。
我已经编写了一个Python程序包,其中包含一个bsddb数据库,该数据库包含用于更耗时的计算之一的预先计算的值。 为简单起见,我的安装脚本将数据库文件安装在与访问数据库的代码相同的目录中(在Unix上,类似于/usr/lib/python2.5/site-packages/mypackage/)。
如何存储数据库文件的最终位置,以便我的代码可以访问它? 现在,我正在使用基于访问数据库的模块中
它可以工作,但似乎...有点黑。 有一个更好的方法吗? 我想让安装脚本从distutils模块中获取最终安装位置,并将其填充到一个" dbconfig.py"文件中,该文件与访问数据库的代码一起安装。 尝试使用pkg_resources,它是setuptools的一部分(并且在我现在可以访问的所有python上都可用):
关于使用pkg_resources来获取更多信息的讨论在eggs页面和pkg_resources页面上。 还要注意,在可能的情况下,建议使用pkg_resources.resource_stream或pkg_resources.resource_string,因为如果包是鸡蛋的一部分,则resource_filename会将文件复制到一个临时目录中。
使用 这可能是这样做的方法,而无需诉诸更高级的功能,例如使用setuptools将文件安装在它们所属的位置。 请注意,这种方法存在问题,因为在具有真正安全框架(例如UNIX等)的OS上,运行脚本的用户可能无权访问安装了DB的系统目录中的DB。
使用标准的Python-3.7库的
注意:为使此工作正常,数据文件所在的文件夹必须是常规的python-package。这意味着您必须在其中添加 然后您可以像这样访问它:
|
最新内容
相关内容
linux数据库同步命令?
linux数据库同步命令?,信息,系统,汽车,车辆,服务,工作,通信,一致,分析,数据,DB2数据库在linux操作系统的指令有哪些?1、linux系统常用操作命令linux云计算查看命令?
linux云计算查看命令?,系统,信息,地址,工作,命令,情况,标准,服务,软件,网络,linux常用命令1、linux系统常用操作命令如下:ls:全拼list,功能是列出linux打开计算器命令?
linux打开计算器命令?,密码,电脑,工作,设备,数字,系统,手机,指数,情况,服务,关于Linux的(操作过程中的Linux命令必须完整给出)对Linux操作系统linux命令进数据库?
linux命令进数据库?,地址,系统,名字,服务,密码,命令,读法,数据库,操作系统,主机,linux系统mysql数据库怎么进入数据库首先确保linux下mysql安linux命令输出计算?
linux命令输出计算?,标准,地址,工作,信息,系统,命令,软件,数据,文件,控制台,linux借用外部命令expr,实现计算器功能,利用管道,进程1、你得装一linux内核发行版命令?
linux内核发行版命令?,发行,系统,地址,软件,设备,信息,内核,版本,工具,公司,linux版本的发行版和内核版是什么意思1、linux发行版,就是在内核的linux数据库检查命令?
linux数据库检查命令?,服务,状态,地址,位置,系统,信息,命令,工作,情况,密码,在linux中,怎样查看Mysql服务运行状态?1、psaux或netstat-tlunppslinux命令进去数据库?
linux命令进去数据库?,地址,服务,名字,系统,数据库,工具,基础,工作,管理,网络,linux系统mysql数据库怎么进入数据库(linux进入mysql数据库命令linux数据库基础命令?
linux数据库基础命令?,地址,工作,基础,系统,命令,信息,情况,工具,设备,目录,linux下基本命令使用讲解对Linux操作系统进行维护操作的实用命令linux计算总数命令?
linux计算总数命令?,系统,第一,情况,数据,信息,电脑,命令,百分比,单位,工作,linux下如何统计一个目录下的文件个数以及代码总行数的命令1、在Llinux查找文件名命令?
linux查找文件名命令?,系统,信息,工具,命令,文件,字符串,样式,管道,文本,动作,linux命令grep在linux中grep命令是非常有用的,它和管道(|)配合使linux中计算器命令?
linux中计算器命令?,地址,数据,位置,网络,设备,时间,环境,平台,软件,命令,说说常用的UNIX命令?命令:whoami格式:whoami功能:显示出当前终端上使用