草庐IT

distutils2

全部标签

python - 使用 distutils 分发预编译的 python 扩展模块

今天快速学习:我正在学习Pythondistutils库的内在和外在,我想在我的包中包含一个python扩展模块(.pyd)。我当然知道推荐的方法是让distutils在创建包时编译扩展,但这是一个相当复杂的扩展,跨越许多源文件并引用几个外部库,所以需要一些重要的播放才能获得所有内容工作正常。与此同时,我有一个已知的来自VisualStudio的扩展的工作构建,并且想在安装程序中使用它作为临时解决方案,以便我可以专注于其他问题。但是,我不能将它指定为模块,因为它们显然必须具有明确的.py扩展名。我如何在我的setup.py中指出我想要包含一个预编译的扩展模块?(Python3.1,如果

python - 使用 distutils 和 build_clib 构建 C 库

有没有人有在distutils中使用build_clib命令从setup.py构建外部(非python)C库的好例子?有关该主题的文档似乎很少或根本不存在。我的目标是构建一个非常简单的外部库,然后构建一个链接到它的cython包装器。我发现的最简单的例子是here,但这使用了对gcc的system()调用,我无法想象这是最佳实践。 最佳答案 不是将库名称作为字符串传递,而是传递一个包含要编译的源的元组:setup.pyimportsysfromdistutils.coreimportsetupfromdistutils.comman

linux - cx_Oracle : distutils. errors.DistutilsSetupError: 找不到 Oracle 包含文件

我需要在Linux(Linux2.6.18-371.1.2.el5i686)上为Python2.5安装cx_Oracle。我已经安装了Oracle客户端10.2.0.4。我试过以下方法:1.从http://sourceforge.net/projects/cx-oracle/files/下载cx_Oracletar.gz。我不知道列出的哪个版本适合python2.5和Oracle客户端10.2.0.4,所以试试cx_Oracle-5.1.tar.gz。未包装的tar,转到解压文件夹并运行pythonsetup.pyinstall。我得到错误:Traceback(mostrecentca

Python:在基于 distutils 的项目中安装手册页

我有一个Python项目,它基本上是一组命令行脚本和一个帮助程序包。由于这些脚本有许多命令行选项,我决定为每个脚本创建一个手册页,并使用ronn(http://rtomayko.github.com/ronn/)在Markdown中编写手册并从中生成mdoc。问题是:如何在基于distutils的项目中生成和安装手册页?我想出了以下解决方案:创建一个简单的install.sh脚本来生成和安装手册页。我从重载的“安装”命令中调用此脚本并将指定的前缀传递给它...您可以在此处查看实际代码:http://github.com/novel/lc-tools.我不太喜欢这个解决方案,因为我必须在

python - 在 distutils 中重命名脚本文件

我有一个python脚本myscript.py,我希望使用distutils安装它:fromdistutils.coreimportsetupsetup(...,scripts=['myscript.py'],...)如果我可以只使用myscript而不是键入myscript.py来调用已安装的脚本,我会更喜欢。这可以通过将文件重命名为myscript来完成,但是很多编辑器等将不再理解它是Python文件。有什么方法可以保留旧名称myscript.py但仍将文件安装为myscript? 最佳答案 您可能想查看自动为您执行此操作的设置

Python 在 Mac OSX 上找不到 distutils_path

我一直在使用virtualenv+pip进行python开发。我不确定发生了什么,但突然每当我尝试运行命令行工具或导入库时,我都会收到以下错误消息:Traceback(mostrecentcalllast):File"/Users/kyle/.virtualenvs/fj/bin/pip",line4,inimportpkg_resourcesFile"/Users/kyle/.virtualenvs/fj/lib/python2.6/site-packages/setuptools-0.6c11-py2.6.egg/pkg_resources.py",line698,inthepla

python - 使用 distutils 构建 ctypes -"based"C 库

关注thisrecommendation,我编写了一个原生C扩展库来通过ctypes优化Python模块的一部分。我选择了ctypes而不是编写CPython-native库,因为它更快更容易(只有几个函数,里面有所有紧密的循环)。我现在遇到了一个障碍。如果我希望使用distutils轻松安装我的工作,使用pythonsetup.pyinstall,然后distutils需要能够构建我的共享库并安装它(大概是/usr/lib/myproject)。但是,这不是Python扩展模块,据我所知,distutils无法做到这一点。我找到了一些其他有此问题的人的引用资料:Someoneonnu

python - 自定义 distutils 命令

我有一个名为“example”的库,我将它安装到我的全局站点包目录中。但是,我希望能够安装两个版本,一个用于生产,一个用于测试(我有一个Web应用程序和其他以这种方式进行版本控制的东西)。有没有办法指定,比如“pythonsetup.pystage”,它不仅可以将不同的egg安装到站点包中,还可以将模块从“example”重命名为“example_stage”或类似的名称?如果distutils不能做到这一点,有没有其他工具可以做到? 最佳答案 这可以通过在setup.py中子类化distutils.core.Command使用di

Python distutils 错误 : "[directory]... doesn' t exist or not a regular file"

让我们采用以下项目布局:$ls-R..:packagesetup.py./package:__init__.pydirfile.datmodule.py./package/dir:tool1.dattool2.datsetup.py的内容如下:$catsetup.pyfromdistutils.coreimportsetupsetup(name='pyproj',version='0.1',packages=['package',],package_data={'package':['*','dir/*',],},)如您所见,我想在package/和package/dir/目录中包含所

Python distutils,如何获得将要使用的编译器?

例如,我可以使用pythonsetup.pybuild--compiler=msvc或pythonsetup.pybuild--compiler=mingw32或只是pythonsetup.pybuild,在这种情况下,将使用默认编译器(例如,bcpp)。如何在setup.py中获取编译器名称(例如分别为msvc、mingw32和bcpp)?UPD.:我不需要默认编译器,我需要的是实际上将要使用的编译器,不一定是默认编译器。到目前为止,我还没有找到比解析sys.argv以查看是否有--compiler...字符串更好的方法。 最佳答案