setup(ext_modules = cythonize(["rsa_util.py"])) 1. 2. 3. 此段代码将执行生成wheel的过程,将.c文件打包成whl文件 from setuptools import setup from setuptools.dist import Distribution from distutils.core import Extension setup(name = 'rsa_util', version = '1.0', ext_modules = [Extension("...
ext_modules 指定扩展模块 scripts 指定可执行脚本,安装时脚本会被安装到系统 PATH 路径下 package_dir 指定哪些目录下的文件被映射到哪个源码包 entry_points 动态发现服务和插件,下面详细讲 python_requires 指定运行时需要的Python版本 requires 指定依赖的其他包 provides 指定可以为哪些模块提供依赖 install_requires ...
所有ext_modules 指定的文件 所有package_data 或 data_files 指定的文件 所有scripts 指定的脚本文件 README、README.txt、setup.py 和 setup.cfg文件 该命令构建的包主要用于发布,例如上传到pypi上。 bdist: 构建一个二进制的分发包。 bdist_egg: 构建一个 egg 分发包,经常用来替代基于 bdist 生成的模式 bdist...
setup(name='my_project',version='1.0',ext_modules=[Extension('my_project.my_module',['my_project/my_module.c'])],) 1. 2. 3. 4. 5. 6. 7. 在这个示例中,我们使用setuptools的setup函数来定义我们的项目。name参数指定项目的名称,version参数指定项目的版本号。ext_modules参数是一个包含扩展模块...
setup函数还有一些参数: 1、packages告诉Distutils需要处理那些包(包含__init__.py的文件夹)2、package_dir告诉Distutils哪些目录下的文件被映射到哪个源码包。一个例子:package_dir = {'': 'lib'},表示“root package”中的模块都在lib目录中。3、ext_modules是一个包含Extension实例的列表,Extension的定义也有一...
setup(# other arguments here...cmdclass={"install_scripts": InstallScripts } ) 其中,cmdclass 参数表示自定制命令,后文详述。 3.4.1 ext_modules ext_modules 参数用于构建 C 和 C++ 扩展扩展包。其是 Extension 实例的列表,每一个 Extension 实例描述了一个独立的扩展模块,扩展模块可以设置扩展包名,头文件...
package_data:一般写成{‘your_package_name’: [“files”]}, include_package_data还没完,还需要修改MANIFEST.in文件.MANIFEST.in文件的语法为: include xxx/xxx/xxx/.ini/(所有以.ini结尾的文件,也可以直接指定文件名) license : 支持的开源协议 description : 对项目简短的一个形容 ext_modules : 是一个...
from distutils.coreimportsetupsetup(name='foo',version='1.0',py_modules=['foo'],) setup函数的参数表示提供给Distutils的信息,这些参数分为两类:包的元数据(包名、版本号)以及包的信息(本例中是一个Python模块的列表);模块由模块名表示,而不是文件名(对于包和扩展而言也是这样);建议可以提供更多的元数据,...
setup(ext_modules = cythonize(["zmister.py"])) 这样,就可以把 Python 文件编译为特定操作系统平台的动态链接库文件了。 同时,有一个第三方库jmpy3对上述流程进行了优化,支持单个文件和整个项目进行编译,使用起来更加友好: 需要注意的是,使用这种方式加密后的文件需要使用生成时的 Python 版本,这也算是一个小...
创建一个名为setup.py的Python脚本,用于编译C语言扩展。例如: fromsetuptoolsimportsetup, Extensionmodule= Extension('example', sources=['example.c'])setup(name='Example',version='1.0',description='This is a demo package',ext_modules=[module]) ...