python包在开发中十分常见,一般的使用套路是所有的功能做一个python模块包,打包模块,然后发布,安装使用。这篇文章给大家介绍了python打包工具distutils、setuptools的相关知识,感兴趣的朋友一起看看吧python中安装包的方式有很多种:源码包:python setup.py install在线安装:pip install 包名(linux) / easy_install 包名(window)python包在开发中十分常见,一般的使用套路是所有的功能做一个python模块包,打包模块,然后...
pydoc
Ka-Ping Yee 曾创建了一个相当著名的模块,名叫 pydoc (比较而言: pydoc 可以做到 perldoc 所能做的任何事,并且做得更好、更漂亮:-)。对于 Python 2.1 来说, pydoc (以及它支持的 inspect )是标准库的一部分。而对于使用 Python 1.5.2、1.6 或者 2.0 版本的用户来说,下载并安装 pydoc 也很简单 ― 请立即下载(请参阅 参考资料)。
作为提供给阅读这篇 Python 文章的任何初学者的背景资料,Python 一直有些半正式的文...
我在互联网上到处都在寻找解决方案,但没有发现任何帮助.
我正在尝试使用Cython将C代码嵌入到我的python程序中.python setup.py build_ext --inplace当我运行上面的代码时,它抱怨编译器,而不是gcc-4.0.我现在知道Lion上仅安装了gcc-4.2(python 2.7 32位).反正有没有得到4.0,我试过芬克,但它没有. (我已经在Windows和我的带有雪豹的朋友笔记本电脑上运行了此程序,并且运行良好).
如果我尝试指定已安装的gcc,我会得到error: don't kno...
我制作了一个小应用程序,基本上在某些时候调用了distutils.dir_util.copy_tree,它将文件复制到目标位置.任何人都可以帮助我链接基本进度条,例如:[======]50%复制过程…不幸的是,我猜不能很长时间复制文件夹树,因为它有时会有所不同.预先感谢任何会回答我的人.解决方法:distutils.dir_util.copy_tree()不提供可用于此目的的回调.您将需要使用os.walk()来枚举文件系统对象,然后使用shutil.copy [2]()复制实际的对象.
从python3.2项目运行cxfreeze二进制文件时,我收到以下运行时错误:/project/dist/project/distutils/__init__.py:13: UserWarning: The virtualenv distutils package at %s appears to be in the same location as the system distutils?
Traceback (most recent call last):File "/home/chrish/.virtualenvs/project/lib/python3.2/distutils/__init__.py", line 19, in <module>import dist
ImportError: No module named dist相...
distutils 实现对package 包的发布
import mathdef showMsg(a):return a * a * aa = 10
print(%d 的三次方是 %d % (a, showMsg(a)))package.py
1. 在同级目录下建立setup.py# encoding=utf-8
from distutils.core import setup# 打包软件脚本文件必须采用 setup 名称
# 打包函数
setup(name=package, # 安装包名version=1.0, # 打包安装软件的版本号py_modules=[package], # 设置打包模块,可以多个description="实现对数的三次...
我有一个C库,我使用Scons构建,最终链接到(除其他外)Python扩展.
一旦我用scons构建了库,我就编写了一个标准的setup.py脚本,我调用它来构建和安装扩展.
我的主要问题是setup.py无法识别库的重建时间(仅当扩展代码已更改时),所以每次重建库时,我都必须“清理”扩展,然后再重新构建它.另外,如果我更改目录结构,我宁愿只需要编辑Scons文件.最后,除了setup.py之外,只需要调用scons而不必调用scons只是稍微方便一点.
有没有人知道将distu...
我创建了一个简单的Python模块,并希望用pip进行分发.我还想与模块一起安装Bash完成文件.我正在使用Python 2.7.1和pip 0.8.2安装模块.
我有这个setup.py:setup(name='jenkinsmon',version='0.0.1',description='Jenkins Job Monitor',long_description=open('README.txt').read(),scripts=['bin/jenkinsmon'],data_files=[('/etc/bash_completion.d', ['extras/jenkinsmon.completion']),],install_requires = ['autojenkins','arg...
我正在构建一个包含多个C扩展的Python项目,需要libhdf5.我在/usr/local/lib上安装了libhdf5.对于测试和开发,我想针对位于/ Users / name / some / path的私有构建的HDF5进行开发.
在setup.py中,我通过将“library_dirs”(和“runtime_library_dirs”,虽然在OS X上没有做任何事情)设置为/ Users / name / some / path来处理这个问题.在Linux上,这很好用.
问题是,当我的扩展模块被编译时,它们链接到/usr/local/lib中的HDF5副本,并且s...
我看过这里:How can I get my setup.py to use a relative path to my files?和这里:python distutils does not include data_files
和这里: Confused about the package_dir and packages settings in setup.py但没有找到爱情.
我怀疑distutils不支持我正在尝试使用的目录结构,但会喜欢确认和/或建议如何改进.
我有以下目录结构:/src
├── user
├── admin
│?? ├── admin.py
│?? ├── LICENSE.txt
│?? ├...
我有一个python项目’myproject’,它包含几个包.其中一个包’myproject.settings’包含一个模块’myproject.settings.local’,它通过’svn:ignore’属性从版本控制中排除.
我希望setuptools在制作bdist或bdist_egg目标时忽略此文件.
我已经尝试过find_packages(排除..)无济于事.理想情况下,我希望只包含未被svn忽略的文件.
有没有办法实现我的模块的排除?(我正在修补(http://bugs.python.org/setuptools/issue64)版本的setuptool...
我是新手.我正在为我自己的应用程序建立rpm包,并决定使用distutils来实现它.我设法通过使用本网站的建议创建了一些%post的替代品,我真的很感激,但我遇到了%postun的问题.让我来描述我所做的.在setup.py中,我运行命令,创建运行应用程序所需的符号链接.它运作良好,但问题是当我想删除rpm,链接停留在那里.所以我想我应该在spec文件中使用%postun.我的问题是:有没有办法在setup.py中执行此操作或者我是否必须手动编辑spec文件?请告...
我有一个使用distutils构建的python包,我在setup函数中使用了version参数,如此(除了名称和版本之外还有其他参数):setup(name='example_module', version='0.1.2', ...)我可以通过调用以下方法从example_module包中的模块中提取版本号:import pkg_resources
version = pkg_resources.require('example_module')[0].version如何从此发行版之外的python脚本访问此版本号?解决方法:在分发之外的另一个python程序中提供该软件包版本的...
我有一个看起来像这样的setup.py:from setuptools import setup, Extension
import globsources = glob.glob('src/*.cpp') + glob.glob('src/*.i')
# this is ugly, but otherwise I get the wrapper included twice
sources = [source for source in sources if '_wrap' not in source]
setup(name = 'engine',ext_modules = [Extension('_engine',sources = sources,swig_opts = ['-c++'],include_dirs = ['src'])],py_modules ...
我编写了一个小的Python扩展,它与一个带有一个可选的.S(汇编程序)文件的小型C库捆绑,编译和静态链接. Distutils的Extension()默认不识别.S.有没有一种很好的方法来编译该文件,或者我应该掏出来制作?现在我只为稍慢的库编译C代码.解决方法:我不知道它有多新,但Extension类有一个extra_objects参数,我发现它可以指定汇编文件.例如,我的s??etup.py看起来像这样:example_module = Extension('_example',extra_compile_args = ['-Wall...