本博客主要介绍:
1. 将python代码编译为so(win环境是pyd)
2.打包生成wheel文件,可以使用pip 进行安装
1. 项目结构
注意,__init__.py文件是必须的,内容可为空
2. example.py
里面是自己写的一些方法,如下
import numpy as np
def create_mat(size):
arr = np.ones(size)
print(arr)
return arr
3. setup.py
内容如下
from setuptools import setup
from Cython.Build import cythonize
setup(
name='chenjq',
version='0.1',
zip_safe=False,
ext_modules=cythonize(["./chenjq/*.py"],
exclude=['./chenjq/__init__.py'] # 排除__init__.py,不要加密
),
)
4. 编译SO(pyd)
在setup.py同级目录下执行
python setup.py build_ext --inplace
我在win环境,所以生成的事pyd文件
5. 打包
在setup.py同级目录下执行
python setup.py bdist_wheel
生成了whl文件,可以使用pip进行安装
6. 安装
pip install .\dist\chenjq-0.1-cp310-cp310-win_amd64.whl
安装
pip list 查看一下
7. 调用
8.检查
检查看一下我们的源码是不是加密的
很好,别人看不到我们的源码,nice!