问题标签 [distutils]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
5 回答
10331 浏览

python - Distribute pre-compiled python extension module with distutils

Quick one today: I'm learning the in's and out's of Pythons distutils library, and I would like to include a python extension module (.pyd) with my package. I know of course that the recommended way is to have distutils compile the extension at the time the package is created, but this is a fairly complex extension spanning many source files and referencing several external libs so it's going to take some significant playing to get everything working right.

In the meantime I have a known working build of the extension coming out of Visual Studio, and would like to use it in the installer as a temporary solution to allow me to focus on other issues. I can't specify it as a module, however, since those apparently must have an explicit .py extension. How could I indicate in my setup.py that I want to include a pre-compiled extension module?

(Python 3.1, if it matters)

0 投票
1 回答
1172 浏览

python - 冻结 Python 代码时缺少多处理模块

我正在使用 cx_Freeze 来冻结我的 Python 代码,以便我可以在 Windows 系统上将其作为可执行文件分发。它工作正常,但缺少一些模块。我在我的项目中使用了一些开源库,例如 BeautifulSoup 和 Periscope。他们使用一些库来实现向后兼容性,我不需要像 Python 2.6 那样包含这些库。问题是第三个导入—— multiprocessing._multiprocessing。谁能告诉我需要安装什么才能解决这个问题?mutiprocessing 模块似乎与 Python 捆绑在一起,那么导致此错误的原因是什么?

有什么帮助吗?

多谢你们!

0 投票
1 回答
891 浏览

python - 使用 cx_Freeze 分发哪些文件?

我正在使用 cx_freeze 冻结 Python 脚本以分发到其他 Windows 系统。我按照指示做了所有事情,cx_freeze build\exe.win32-2.6在包含我的源代码的文件夹中生成了一个文件夹。这个目录现在包含一堆 PYD 文件、一个 library.zip 文件、python DLL 文件和主可执行文件。我需要分发这些文件中的哪些?任何帮助,伙计们?

提前致谢。

0 投票
4 回答
49274 浏览

python - 使用 cx_freeze 时如何捆绑其他文件?

我在 Windows 系统上使用 Python 2.6 和 cx_Freeze 4.1.2。我创建了 setup.py 来构建我的可执行文件,一切正常。

当 cx_Freeze 运行时,它会将所有内容移动到build目录中。我有一些其他文件希望包含在我的build目录中。我怎样才能做到这一点?这是我的结构:

这是我的片段:

设置

我似乎无法让它工作。我需要一个MANIFEST.in文件吗?

0 投票
5 回答
4279 浏览

python - 如何使用 C 或 C++ 编写的代码创建可在 Python 中使用的 make .so 文件

查看 Python 模块和 Python 框架中“lib-dnyload”目录中的代码,我注意到每当代码创建某种 GUI 或图形时,它都会导入一个扩展名为 .so 的非 Python 文件。“lib-dnyload”中有大量 .so 文件。

通过谷歌搜索,我发现这些文件被称为共享对象,并且是用 C 或 C++ 编写的。我有一台 Mac,我使用 GCC。如何制作可通过 Python 访问的共享对象文件?主要是如何使用 GCC 使用 Mac OS X 制作共享对象。

0 投票
1 回答
1326 浏览

python - 在 setup.py 文件中直接包含一个 pyd

我有一个复杂的构建过程来生成几个 python 扩展模块(.pyd)。我想将这些包含在我的 setup.py 中以与 distutils 一起使用。distutils 页面详细讨论了如何从源代码添加扩展模块,但我想简单地打包这些预编译的 .pyd。这样做的最佳做法是什么?

最后,我还想用 py2exe 冻结可执行文件中的所有内容。如果我直接指定 .pyd,我能做到这一点吗?

0 投票
4 回答
2497 浏览

python - 使用 SCons 作为 distutils 的构建引擎

我有一个 python 包,其中包含一些构建扩展所需的 C 代码(具有一些非平凡的构建需求)。我使用 SCons 作为我的构建系统,因为它非常好且灵活。

我正在寻找一种方法来编译我的带有 SCons 的 python 扩展,准备好与 distutils 一起分发。我希望用户只需键入 setup.py install 并使用 SCons 而不是默认的 distutils 构建引擎编译扩展。

想到的一个想法是在 distutils 中重新定义 build_ext 命令,但我找不到大量的文档。

有什么建议吗?

0 投票
2 回答
2632 浏览

python - setup.py 添加选项(又名 setup.py --enable-feature )

我正在寻找一种在安装阶段在 python(扩展)模块中包含某些功能的方法。

以实际的方式:

我有一个 python 库,它有 2 个相同函数的实现,一个内部(慢)和一个依赖于外部库(快速,在 C 中)。

我希望这个库是可选的,可以在编译/安装时使用如下标志激活:

我必须使用 Distutils,但是所有解决方案都被广泛接受!

0 投票
2 回答
343 浏览

python - Distutils - 我哪里出错了?

我想学习如何创建 python 包,所以我访问了http://docs.python.org/distutils/index.html

对于本练习,我在 Windows XP 上使用 Python 2.6.2。

我跟着这个简单的例子创建了一个小测试项目:

我的 person.py 文件很简单:

我的 setup.py 文件是:

我运行了 python setup.py sdist,它创建了 MANIFEST、dist/ 和 build/。接下来我运行 python setup.py install 并将其安装到我的站点包目录中。

我运行 python 控制台并可以导入 person 模块,但我无法导入 Person 类。

我检查了添加到站点包的文件并检查了控制台中的 sys.path,它们看起来还可以。为什么我不能导入 Person 类。我哪里做错了?

0 投票
4 回答
15548 浏览

python - 让 py2exe 包含我的数据文件(如 include_package_data)

我有一个 Python 应用程序,它的一些子包中包含非 Python 数据文件。在进行分发时,我一直在使用include_package_data我的选项来自动包含所有这些文件。setup.py它运作良好。

现在我开始使用py2exe。我希望它看到我拥有include_package_data=True并包含所有文件。但事实并非如此。它只将我的 Python 文件放在library.zip.

如何让 py2exe 包含我的数据文件?