当前位置: 首页 > 面试题库 >

将Python库嵌入我自己的包中

孟海
2023-03-14
问题内容

如何在自己的Python包中“嵌入” Python库?

以Requests库为例。我如何将其集成到我自己的程序包中,目的是允许我在不同的计算机上运行应用程序而无需实际在每个计算机上安装请求,而是将其与程序包放在同一文件夹中?

这有可能吗?


问题答案:

如果它是纯python库(无编译模块),则只需将其放在项目中的文件夹中,然后将该文件夹添加到模块搜索路径中即可。这是一个示例项目:

    • application.py
      |-lib
      | -... |-Documentation |-…
      -Supplier |-Request | |-__ init__ .py |-…
      `-More libraries


vendor示例中的文件夹包含所有第三方模块。该文件application.py将包含以下内容:

import os
import sys

# Add vendor directory to module search path
parent_dir = os.path.abspath(os.path.dirname(__file__))
vendor_dir = os.path.join(parent_dir, 'vendor')

sys.path.append(vendor_dir)

# Now you can import any library located in the "vendor" folder!
import requests

奖金事实

正如seeafish在评论中指出的那样,您可以将软件包直接安装到供应商目录中:

pip install <pkg_name> -t /path/to/vendor_dir


 类似资料:
  • 我在Python文件中定义了几个类。我知道我可以将它导入到给定的脚本中,只要该文件与我的脚本位于同一目录中;但是,我希望能够将该文件作为软件包安装,这样我就可以导入它,而不必每次使用它时都将其放在当前目录中。 本质上,有没有一种方法来pip安装你自己编写的包,这样它就可以在Python脚本中导入,而不存在于与脚本相同的目录中?

  • 问题内容: 好的,希望这是快速简便的。 我有两个独立的Java项目,即“ Library”和“ Project”,并且我在“ Project”中有一个要实现在“ Library”中找到的方法的类。我正在寻找某种“导入”调用,以在“项目”类的顶部进行调用,以使该项目中“库”中找到的方法可访问。 我该怎么做? 另外,这个“库”项目仅存在是因为我想使用自己的许多类来补充常用的Java库(java.uti

  • 我试图在我自己的包中使用data.table包。MWE如下:

  • 我正在使用Python开发一些特定于公司的应用程序。有一个自定义共享模块(“库”)描述了一些数据和算法,还有几十个Python脚本可以使用这个库。这些文件相当多,所以它们被组织在子文件夹中 用户想要运行这些脚本,只需转到 myproject\utils 并启动“py util2.py some_params”即可。这些用户中有许多是开发人员,因此他们经常想要编辑库并立即使用更新的代码重新运行脚本。

  • 我有一个依赖于windowbuilder插件的插件。在eclipse开普勒中,我只需要使用URL安装插件。但在eclipse Mars和Neon中,我需要先安装windowbuilder插件,然后再安装自己的插件。这是安装Windows builder的URL:http://download.eclipse.org/windowbuilder/WB/release/R201506241200-1/

  • 问题内容: 我在eclipse项目中创建了一个derby嵌入式数据库,它在eclipse上运行良好,但是当将该项目打包到Runnable jar文件中时,它无法连接数据库。 我已经完成了与此视频类似的操作 http://vinayakgarg.wordpress.com/2012/03/07/packaging-java- application-with-apache-derby-as-jar-