文章目录
- 1、前言
- 2、依赖
- 3、操作示例
1、前言
很多时候,我们想提供我们的程序给别人使用,但又不想让别人看到我们的源代码,这样我们就需要对python代码进行编译,然后打包发送给别人使用。
2、依赖
安装Visual Studio Installer。为了能够编译 Cython 项目,你需要确保安装了 C++ 编译工具,特别是 MSVC(Microsoft Visual C++)工具集。
具体步骤如下:
- 在 Visual Studio Installer 中,点击页面下方的“从可用中选择”按钮。
- 在弹出的选项中,选择 Desktop development with C++(适用于桌面开发的C++)。
- 确保勾选包含 MSVC(Microsoft C++ 编译工具) 和 Windows 10 SDK,这是编译所需的核心工具。
3、操作示例
编写setup.py文件,遍历文件夹,将所有需要编译的文件进行编译。
from setuptools import setup, Extension, find_packages
from Cython.Build import cythonize
import os# 定义需要编译的所有模块
extensions = []
for root, dirs, files in os.walk("."):for file in files:if file.endswith(".py") and file not in ["test_api.py", "api.py"]: # 保留test_api作为调用端口full_path = os.path.join(root, file)# 转换为模块路径,去掉首个“./”以防止不规范路径module_name = os.path.relpath(full_path, start=".").replace("/", ".").replace("\\", ".")[:-3]extensions.append(Extension(module_name, [full_path]))# 设置编译参数
setup(name="my_project",ext_modules=cythonize(extensions, language_level="3"),packages=find_packages()
)
步骤一:在项目文件夹根目录下,打开命令行,运行以下代码,即可生成。将文件夹下同名的.c和.py文件删除,只保留.pyd即完成加密。你当然可以就把删除py之后的包分享给别人使用。但是可以更进一步,
python setup.py build_ext --inplace
步骤二:(删除.py以及.c文件之后)继续运行以下代码,即可生成whl文件。将whl文件发送给共享的人,使用pip install your_project.whl安装即可使用。
python setup.py bdist_wheel
- 安装whl库
- 测试调用