当有些模块的代码需要一定的保密性,这个时候就需要考虑pyc和pyd文件了。今天就好好琢磨一下这两种文件的生成和使用方法。让自己的知识能够朝着商业化的方向再前进一步。
首先编辑名称为的测试文件
然后在另一个文件中采用模块,运行文件。
完毕以后查看项目文件夹下名称为的文件夹,其中名称为的文件便是生成的pyc文件。
将其单独放入新的项目中,直接引用即可(需要将文件名称改为原来的模块名,即应该将文件名称中“.cpython-38”字符删除)。
不过,需要说明的是,如果打开pyc文件可以发现,有部分源代码还是可以看见的。
以上,便是单个文件编译成*.pyc文件的全过程。还有批量编译的,目前我个人还没有这样的需求,等用到了再说(如果文件不是很多的话我还是愿意逐一编译)。
另外还有一个问题,当前编译的这个模块没有引用到其他模块,如果编译的模块引用到了其他模块,那么有没有其他需要特别注意的问题?这也是需要留意的。
pyd文件的生成要比pyc的生成过程要麻烦一些。
首先需要创建文件
然后在terminal控制台执行如下指令进行编译,我是控制台所在文件路径切换到当前目录下的(Pycharm里面其实不用切换,直接就在当前项目所在目录下)
我在执行上面这一句的时候给出了如下报错:
Microsoft Visual C++ 14.0 or greater is required.
这时需要在微软官网下载"Microsoft C++ Build Tools"这个工具(具体方式可以参考这里),然后安装如下组件:
最后,再重新在控制台运行上述命令即可。pyd文件将会出现在项目文件夹下的build——>lib.win-amd64-cpython-38文件夹里,我这边的名称是
必须注意,pyd文件的使用和pyc有些不同,使用的时候必须将pyd文件的名称改为原来对应的py文件的名称(后缀不用改),否则会出现引用不了的情况!
首先,pyd文件的保密性要更好一些。下面的截图是pyd文件打开后的情形。完全看不到源码。
其次,个人感觉pyd就像是仅仅把py文件加密而已,即使源文件(*.py)引用了其他模块,也不要紧。这种方式是我比较喜欢的。点赞!
这一节主要来自这里。本来我没有打算搬运的,但是看到自己之前收藏的一些文章现在居然要收费,心中一紧,赶紧该搬运搬运吧。感谢原作者。
首先Python环境要先安装cython模块:
如下是主代码,文件名:py2pyd.py
批处理测试文件:
接下来在Pycharm中做成外部工具就好了,这一部分在捣置pyqt5的的教程里有很多,就不细说了。只把下面和本文相关的设置说一下就好。再次感谢原作者。
按如上进行设置,
实参:D:PYTHON oPYDpy2pyd.py one nodel xxxxx
路径:D:PYTHON oPYD根据你自己的位置更改一下。
工作目录:xxxxx
版权声明:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权、违法违规、事实不符,请将相关资料发送至xkadmin@xkablog.com进行投诉反馈,一经查实,立即处理!
转载请注明出处,原文链接:https://www.xkablog.com/cjjbc/44742.html