当前位置: 首页 > 知识库问答 >
问题:

python3 setuptools 如何打包 文件及依赖文件呢?

林富
2023-12-29

python3 setuptools 如何打包main.py 供其他 py项目调用? main依赖app里面的enit.py 和同级ss.py文件

这个setup.py如何写?

from setuptools import setup,find_packagessetup(    name = "demo", #包名,真正调用的不是这个包名,这只是一个宏观的包名    version = "0.1", #版本号    packages = find_packages(), #所有包含的其他包)

希望大佬帮忙解决!

共有1个答案

傅宏恺
2023-12-29

要打包 main.py、依赖于 app 文件夹内的 enit.py 和同级目录下的 ss.py 文件,首先你需要确保这些文件都在你的项目中。然后,你可以使用 setuptools 的 setup() 函数来定义你的包。

在你的 setup.py 文件中,你需要指定包含的包和文件。这可以通过使用 package_data 参数来实现。package_data 参数接受一个字典,其中键是包名,值是一个列表,包含该包中包含的所有文件。

以下是一个示例的 setup.py 文件,它包含了 main.py、app 文件夹内的 enit.py 和同级目录下的 ss.py 文件:

from setuptools import setup, find_packagessetup(    name = "demo",    version = "0.1",    packages = find_packages(),    package_data = {        '': ['main.py', 'app/enit.py', 'ss.py'],    },)

在这个示例中,我们指定了包含 main.py、app/enit.py 和 ss.py 文件的空字符串作为包名。这意味着这些文件将被包含在所有包中。如果你只想包含这些文件在特定的包中,你可以将包名替换为相应的包名。

注意:如果你的项目中有多个文件需要包含,你可以将它们都添加到 package_data 中。同样,如果你的文件在不同的文件夹中,你需要相应地更新路径。例如,如果 ss.py 在一个名为 utils 的文件夹中,你需要将其路径更改为 'utils/ss.py'。

 类似资料:
  • 问题内容: 我在Eclipse中有一个对我的工作区中的另一个Java项目有依赖性的对象。在内置的Tomcat服务器中运行Web项目时,我已将项目依赖项添加到 运行配置中 的类路径中。我想创建一个WAR,用于在外部服务器上部署Web项目。依赖性Java项目已添加到Eclipse中的 Java Build路径 ,但是当我导出WAR文件时,该库不包括在内。还可以在 Order and Export中 选

  • 好的,这是我第一次尝试Java web start,所以我有了用Maven构建的jar作为依赖项存储库,并将其放入Apache根文件夹,包括文件夹库中的所有依赖项jar,然后我创建了密钥存储、HTML和JNLP文件。 我启动了Apache服务,并尝试访问localhost,它运行得很顺利,直到我用浏览器的java插件运行了jnlp文件,显示,我知道我的依赖项JAR不包括在内。所以我发现了如何在Ja

  • 我有一个maven项目,它被配置为(通过使用pom.xml和assembly.xml)在运行时打包一个zip文件,该文件包含编译后的webapp(war文件)和src/main/文件夹下的所有文件。 这个项目导入/使用另一个maven项目(它变成了一个jar文件),而该项目反过来也导入/使用第三个maven项目(同样是一个jar文件)。 第三个项目还包含src/main/文件夹中的一些文件,我希望

  • 1. 源文件命名 源文件的入口必须命名为 main.js 除此之外,资源文件夹以及其他脚本文件命令以及路径并无要求。 2. 打包 将工程打包至手Q运行时中,有以下几个要求 必须打包的文件 main.js (游戏主入口)、qqPlayCore.js,游戏配置gameConfig.json(具体说明)。以及其他开发者自身脚本以及资源,手Q在启动时已经加载了brick.js与game.js开发者无需关心

  • 问题内容: 在“撰写设置脚本(http://docs.python.org/2/distutils/setupscript.html)”的python文档中提到可以在本节中指定依赖项 > 2.4。发行与包装之间的关系 […]可以使用distutils.core.setup()函数的关键字参数来指定这些关系。 可以通过向setup()提供require关键字参数来指定对其他Python模块和软件包的

  • 我写了一些库,其中有一部分UI。此外,这个库使用另一个库。我想提供发行版来在任何应用程序中使用这部分UI。 我得库有下一个依赖项: /home/user/projects/mainapp/app/build/intermediates/explodede-aar/com.my.sdk/sdk/0.0.1/res/values/values.xml:78:21-29:找不到与给定名称匹配的资源:at