问题标签 [setup.py]
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.
python - python c扩展,mac os上的dlopen问题
我采用了一个作为二进制库(.a)和头文件分发的库,针对它编写了一些 c++ 代码,并希望将结果包装在一个 python 模块中。
我在这里做过。
问题是在 Mac OSX 上导入此模块时(我尝试过 10.5 和 10.6),我收到以下错误:
这看起来像 Carbon 框架中定义的符号没有被正确解析,但我不知道该怎么做。我提供-framework Carbon
给distutil.core.Extension
'sextra_link_args
参数,所以我不确定我还应该做什么。
任何帮助将非常感激。
更新:
setup.py 生成的编译行如下所示:
链接器行如下所示:
otool
报告:
更新 2:在 MacOS 10.5 上,将 dlopen 标志从默认的 修改RTLD_NOW
为RTLD_LAZY
解决问题。但是,这不适用于 Mac OS 10.6。
在 10.6 上,以下序列允许库正常运行,尽管我不确定为什么:
- python setup.py build -v
- 再次手动运行链接器行(由 setup.py 打印到控制台)。
- python setup.py 安装
我仍在寻找有关如何使其正常工作的好答案。谢谢!
python - 为什么我不能使用 distutils 在 Python 发行版中包含这些数据文件?
我正在为 Python 项目编写 setup.py 文件,以便分发它。目的是最终创建一个 .egg 文件,但我试图让它首先与 distutils 和常规 .zip 一起工作。
这是一个 Eclipse pydev 项目,我的文件结构是这样的:
到目前为止,这是我的 setup.py 代码:
当我运行它(使用 sdist 作为命令行参数)时,会生成一个包含所有 python 文件的 .zip 文件 - 但不包括配置文件。我以为这段代码:
表示应该将这 3 个指定的配置文件复制到 zip 分发中的“config”目录。为什么这段代码没有完成任何事情?我究竟做错了什么?
(我也尝试过使用配置文件的路径......但似乎没有任何帮助。如果路径不正确/找不到文件,Python 会抛出错误或警告吗?)
python - setup.py 安装后访问文件
我正在开发一个 python 应用程序,并且有一个关于对其进行编码的问题,以便在用户通过 setup.py install 或类似方法将它安装在他或她的机器上之后它仍然可以工作。
在我的一个文件中,我使用以下内容:
为了获得路径MainWindow.ui
,当我只知道相对于主脚本位置的路径时。无论我从哪里调用主脚本,这都有效。
问题是用户在他或她的机器上安装应用程序后,相对路径不同,所以这不起作用。我可以使用__file__
,但据此, py2exe 没有__file__
.
有没有实现这一目标的标准方法?还是更好的方法?
编辑:
我是否应该担心 py2exe 而只使用 py2exe __file__
?我没有立即使用 py2exe 的计划,但我希望学习在这种情况下访问文件的正确方法。
c++ - 为什么我的 setup.py 脚本会出现此错误?
所以我有一个 C++ 类,我为它制作了 python 包装器,我制作了一个 setup.py 文件来编译它,以便在 python 中使用它。当我尝试运行 python setup.py install 时,出现以下错误:
我认为问题不在于正在编译的文件,我认为我必须设置 setup.py 错误。这是我的 setup.py 文件的样子:
python - 未找到安装工具
我正在从 Linux 切换到 OSX,当我运行构建的 setup.py 脚本时,我收到一条包含文本的错误消息
此脚本需要 setuptools 版本 0.6c7。
我曾多次尝试安装 setuptools,并已验证 setuptools egg 存在于 /Library/Python/2.6/site-packages 中。我不知道为什么它没有被识别。
python - 为什么“python setup.py sdist”会在项目根目录中创建不需要的“PROJECT-egg.info”?
当我跑
它在我的 ./dist 目录中创建一个 sdist。这包括我的“dist”文件夹内的 zip 中的“PROJECT-egg.info”文件,我不使用它,但它不会伤害我,所以我只是忽略它。
我的问题是为什么它还在我的项目根目录中创建一个“PROJECT-egg.info”文件夹?我可以让它停止创建这个吗?如果没有,我可以在创建 sdist 后立即删除它吗?
我正在使用从 setuptools 导入的“设置”功能。WindowsXP、Python2.7、Setuptools 0.6c11、Distribute 0.6.14。
我的设置配置如下所示:
python - 如何在 x86_64 主机上使用 Setup.py 构建 32 位 Python 模块分发
我需要编译PyEphem的 32 位发行版。看起来这应该不难,但是,我遇到了一些编译器问题。
构建系统正在运行 Ubuntu 10.04。python 头文件是否与本地主机的体系结构相关联?
更新:我发现了一些关于Python 交叉编译的有趣信息。
python - setup.py 安装后调用模块中的函数
我有一个程序/笑话需要一个相当大的数据结构来运行(一个需要几秒钟才能构建的字典),我想在运行时创建并将其腌制到安装目录中python setup.py install
。
setup()
indistutils.core
看起来它不应该退出,所以我认为我可以导入我的模块并在调用setup()
setup.py 后调用该函数,但它似乎不起作用,即使安装确实有效。
这就是我的 setup.py 现在的样子:
python - Python 设置脚本扩展,如何包含 .h 文件?
所以我有一个看起来像这样的目录:
显然头文件是编译c文件所必需的,但问题是我无法让安装脚本包含头文件。
我的扩展对象是这样的:
哪个有效,但不包括头文件。如果我将其更改为:
它包括“.h”文件,但在我运行安装时不构建。相反,它给出了错误error: unknown file type '.h' (from 'ext/ext_header.h')
如果我将头文件包含为这样的数据文件:
它根本不起作用,.h 文件甚至没有进入 MANIFEST 文件。
所以我的问题是,你如何在头文件中包含这个扩展名,以便python setup.py install
正确构建它?