python如何实现打包生成所以文件

  介绍

本篇文章为大家展示了python如何实现打包生成所以文件,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

<强> python3 强安装:cython

 pip3安装cython——http://mirrors.aliyun.com/pypi/simple/

<强> pip国内的一些镜像,# 8195;及# 8195;

阿里云http://mirrors.aliyun.com/pypi/simple/
中国科技大学https://pypi.mirrors.ustc.edu.cn/simple/
豆瓣(豆瓣)http://pypi.douban.com/simple/
清华大学https://pypi.tuna.tsinghua.edu.cn/simple/
中国科学技术大学http://pypi.mirrors.ustc.edu.cn/simple/<强>

<强> linux 强安装:python-devel, gcc

查看gcc版本信息,有的话就不用安装了

 gcc -版本

 python如何实现打包生成所以文件

没有自行安装对应服务器版本环境的gcc编译安装python-devel

pip3安装python-devel - http://mirrors.aliyun.com/pypi/simple/

创建一个测试文件夹

 mkdir so_test 

so_test文件夹下创建要封装的文件测试。py

进口datetime
  类数据中心():
  def取得时间(自我):
  print (datetime.datetime.now ())
  def write_data(自我):
  打印(“你好XiaoBoData !“) 

so_test文件夹下创建调用文件so_test。py

从测试导入数据中心
  data=https://www.yisu.com/zixun/DataCenter ()
  data.gettime ()
  data.write_data () 

首先运行so_test保证代码可以运行成功,之后在做所以封装

 python如何实现打包生成所以文件

so_test文件夹下创建打包文件设置。py

从测试导入数据中心
  data=https://www.yisu.com/zixun/DataCenter ()
  data.gettime ()
  data.write_data () 

最终文件夹下如下:

 python如何实现打包生成所以文件

执行<代码> python3设置。py build_ext

 python如何实现打包生成所以文件

根据文件大小,编译时间不同

执行成功之后,同目录会生成一个test.c的文件和构建的文件夹,生成的所以文件就在构建/lib.linux aarch74 - 3.5目录下,服务器的环境不同生成的所以文件名也不同,生成位置都是相同的

 python如何实现打包生成所以文件

把生成的所以文件拷贝到test.py文件存放位置即可,然后删除test.py,测试。c和构建文件夹,执行python3 so_test试试能不能成功

 python如何实现打包生成所以文件

测试证明没有问题,加密之后的所以文件==py文件,只不过从明文变成了密文,后缀名从py变成如此,其他的都没有变,达到了代码的安全性

,

<强> pyd就是dll

mytest。py和dll_test.py和上面一样

创建setupDll。py

 # !/usr/bin/env python
  # - * -编码:utf - 8 - *
  distutils。核心进口设置
  从Cython。建立进口cythonize
  distutils。扩展导入扩展
  def main ():
  #这里为文件名可以增加多个扩展(& # 39;& # 39;[& # 39;& # 39;])
  扩展=[扩展(& # 39;mytest # 39; [& # 39; mytest.py& # 39;)))
  设置(ext_modules=cythonize(扩展)
  if __name__==& # 39; __main__ # 39;:
  main ()
  

在pycharm的终端下输入Python setupDll build_ext,得到pyd文件

 Python如何实现打包生成所以文件

在构建文件夹下得到。pyd文件调用方式不变

 # !/usr/bin/env python
  # - * -编码:utf - 8 - *
  #如果不想改变pyd路径,则需要在dll_test.py中加入:
  导入系统
  sys.path.append(& # 39;。/构建/lib.win - amd64 3.7/& # 39;)
  从mytest导入数据中心
  def main ():
  data=https://www.yisu.com/zixun/DataCenter ()
  data.gettime ()
  data.write_data ()
  
  if __name__==癬_main__”:
  main ()
  

运行得到结果

 python如何实现打包生成所以文件

python如何实现打包生成所以文件