Python包开发:如何让.pyd文件随pip安装同步部署?
Python包打包时.pyd文件未被包含的问题求助
我是Python包开发新手,正在尝试创建一个包含两个.pyd文件的简单Python包,包结构如下:
\my_package --- my_package.py --- __init__.py --- __version__.py --- setup.py --- \lib --- --- mylib1.pyd --- --- mylib2.pyd
在my_package.py中,我通过pylibimport导入这两个库:
import os import pylibimport decode1 = pylibimport.import_module(os.path.join(os.path.dirname(os.path.abspath(__file__)), 'lib', 'mylib1.pyd') decode2 = pylibimport.import_module(os.path.join(os.path.dirname(os.path.abspath(__file__)), 'lib', 'mylib2.pyd')
我的setup.py内容如下:
from setuptools import setup from __version__ import __version__ setup(name = "my_package", version = __version__, description = 'package description', author = 'me', install_requires = ['numpy', 'pylibimport'], zip_safe = False)
使用python setup.py sdist命令将包打包为.tar.gz归档文件后,通过pip安装,但.pyd文件未被复制到环境的site-packages文件夹,导致加载模块时出现AttributeError。
我已尝试以下方法但未解决问题:
- 在setup.py中添加
package_data = {'my_package':['lib/*.pyd']}或package_data = {'':['lib/*.pyd']}配置 - 在my_package文件夹中添加MANIFEST.in文件,写入
recursive-include lib/*.pyd,并在setup.py中设置include_package_data = True
恳请各位提供技术帮助!
内容的提问来源于stack exchange,提问作者HalBatar9000
相关产品推荐
相关产品推荐

