如何使用Cython对python脚本加密成pyd_so
@[TOC](Microsoft Visual C++ 14.0 or greater is required. Get it with “Microsoft C++ Build Tools“的解决办法)
第一步: 安装Cython
在开始使用Cython编译Python代码之前,您需要先安装Cython。您可以使用pip来安装Cython,可以在命令行界面中输入以下命令(一般python自带):
1 | |
第二步:编写Python代码并使用Cython编译
示例hello.py
1 | |
为了编译Python代码为Cython模块,我们需要编写一个setup.py文件。在Python的安装目录下,创建一个新文件夹并命名为cython_example。在该文件夹下创建一个名为setup.py的文件,文件内容如下:
1 | |
在命令行界面中的Python安装路径下,运行以下命令来编译Python代码并生成Cython模块:
1 | |
这将会在Python安装路径下生成一个新的文件hello.cp39-win_amd64.pyd(使用Python 3.9发行版的Windows操作系统),该文件包含编译的Python代码并可以被导入到其他Python代码中。windows下为pyd文件,linux下为so文件
第三步: 使用Cython模块导入加密的Python代码
现在我们已经编译了加密的Python代码,接下来将代码导入到其他Python代码中。假设我们有一个名为app.py的Python文件,我们希望在其中调用hello.py中的hello()函数。
1 | |
此时我们可以启动Python解释器,运行app.py,输出结果应该是“Hello World!”。
在Windows系统上将py加密成pyd时或者使用pip安装一些软件时,会出现下面这样的问题
1 | |
如果按照错误提示的信息来做,那么会引导安装Visual Studio。但是一方面安装Visual Studio需要时间很久,另外一方面会占用大量的磁盘空间,让空间原本就不富裕的固态硬盘雪上加霜。
解决方案:
直接安装Microsoft C++ Build Tools,而不需要安装Visual Studio。
Visual Studio Subscriptions
在下载页面搜索Build Tools for Visual Studio 2015;进行安装。
