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

为python项目构建一个wheel / egg及其所有依赖项

商夜洛
2023-03-14
问题内容

为了在我们公司内进行python项目,我需要进行可安装的发行版。

其中应包括:

  • 为我的项目准备的鸡蛋
  • 项目的每一个依赖都可以胜任
  • (可选)生成requirements.txt文件,列出此版本的所有可安装组件

是否有一个简单的插件(例如bdist_wheel的替代品),它不仅可以编译一个轮子,还可以编译该项目的组件?

显然,我可以编写脚本,但我希望可以有一个捷径,以较少的步骤构建软件包和依赖项。

这需要在Windows + Linux上的Python 2.7上运行。


问题答案:

您将需要setup.py为您的包创建一个文件。确保您安装了最新的setuptools和pip。然后运行以下命令:

python setup.py bdist_wheel

这将为您的包裹创建一个滚轮文件。这假设您没有C / C ++头文件,DLL等。如果您这样做,则可能需要做很多工作。

要获取依赖关系,您将需要创建一个requirements.txt文件并运行以下命令:

pip wheel -r requirements.txt

如果您的软件包不在PyPI上,则必须手动将软件包的wheel文件复制到此命令创建的wheel文件夹中。有关更多信息,请参见以下出色的文章:

  • http://lucumr.pocoo.org/2014/1/27/python-on-wheels/


 类似资料:
  • 问题内容: 首先,我要说我是Ant的新手。就像之前一样,我只是在两天前才开始学习它以完成此任务。 我想要做的是创建一个“ master”蚂蚁脚本,该脚本调用其他几个蚂蚁脚本。例如: 现在,我拥有用于​​A,B和C的所有单独版本。通过这个,我的意思是我可以从这些文件夹中的任何一个运行“ ant”,它将构建项目并生成一个jar文件。如果以这种方式构建A,B和C,则我有3个jar文件。然后,我可以将它们

  • 我试图用Gradle构建我的第一个项目,我认为我的gradle文件和设置是正确的。 我只使用一个模块并支持V4 AppCompatBar库。 项目-build.gradle Project-settings.gradle 主模块-build.gradle 带有-i标志的控制台输出:

  • 我是maven的新手。(我已经搜索了几个小时的答案,但没有运气。mvn依赖:复制依赖不能解决我的问题)我需要复制项目的所有依赖项(以jar的形式),如果我的一个jar依赖于另一个工件,也复制该工件。 示例project1 pom。xml: “project1”依赖于project2。人工制品罐子当我使用“mvn依赖项:复制依赖项”时,我得到了project2。人工制品但我没有得到project3。

  • 我与Intellij合作过一个java spring项目 当我构建并运行项目时,这些错误会出现在我身上: 无法解析符号“springframework” 错误:(32,48)java:-source 1.5中不支持菱形运算符(使用-source 7或更高版本启用菱形运算符) 错误:(33,55)java:方法引用在-source 1.5中不受支持(使用-source 8或更高版本来启用方法引用)

  • 问题内容: Eclipse VERSION 3.7似乎存在一些问题 当我编译单个项目(通过ant或buildProject)时,Eclipse开始在工作空间中构建所有项目,这需要很长时间。 我尝试过两种方式来构建项目- 右键单击ant文件,选择Run And And Build。 在Eclipse中右键单击项目,选择Build Project。 Eclipse会以两种方式首先开始构建其他打开的项目

  • 我面临着以下问题。我有两个Gradle项目(ProjectA和ProjectB)在同一个层次结构上,没有任何根项目。由于ProjectA依赖于ProjectB,我尝试将其建模如下: ProjectA的settings.gradle: ProjectA的build.gradle: 然而,当我在ProjectA上执行gradle build时,我得到了以下错误: 我必须在ProjectB中定义某种默认

  • 本文向大家介绍Apache Maven 创建具有项目所有依赖项的.jar文件,包括了Apache Maven 创建具有项目所有依赖项的.jar文件的使用技巧和注意事项,需要的朋友参考一下 示例 要创建包含所有依赖项的JAR,可以使用内置描述符格式jar-with-dependencies。以下示例package使用此内置描述符并声明的主类来配置绑定到该阶段的Assembly Plugin的执行co

  • 你可以在同一个构建里加入项目之间的依赖, 举个例子, 一个项目的 JAR 文件被用来编译另外一个项目. 在 api 构建文件里我们将加入一个由 shared 项目产生的 JAR 文件的依赖. 由于这个依赖, Gradle 将确保 shared 项目总是在 api 之前被构建. Example 7.13. 多项目构建 - 项目之间的依赖 api/build.gradle dependencies {