由于生产部署的问题,需要把用python写的深度学习代码编译为可被调用的文件。上网搜索了下,暂时了解到win10下pyd文件比较流行。下面是直接引用某位博主的结论,个人感觉总结的很好。其中Cython库将已有的Python代码转化为C语言的代码,并作为Python的built-in模块扩展。

Python的文件类型介绍:

.py       python的源代码文件

.pyc     Python源代码import后,编译生成的字节码

.pyo     Python源代码编译优化生成的字节码。pyo比pyc并没有优化多少,只是去掉了断言

.pyd     Python的动态链接库(Windows平台)

.py, .pyc, .pyo 运行速度几乎无差别,只是pyc, pyo文件加载的速度更快,不能用文本编辑器查看内容,反编译不太容易

一、系统环境

win10 64位+anaconda的python环境(此处对应envs为tf_2c)+pycharm

二、利用cython创建pyd文件

先安装cython,如果在线安装不了,在https://www.lfd.uci.edu/~gohlke/pythonlibs/下载后本地安装即可。

1.编写一个测试代码文件utils.py放在。。。/pyd_test这个project中

class utils:def fun_Hello(self, s):return s

2.在pyd_test这个project中创建一个setup.py文件

from setuptools import setup
from Cython.Build import cythonizesetup(name='test',ext_modules=cythonize('utils.py'),
)

3.在pycharm命令行调用

进入tf_2c这个虚拟环境中(必须进入该环境中,不然无法调用相应的库)

在terminal中回到当前的project路径,输入以下cmd命令:

python setup.py build_ext --inplace

编译成功后可以看到,project中会出现对应的.c和.pyd文件,如下图所示:

备注:在anaconda prompt中打开对应envs和路径,输入同样的cmd命令亦可实现。

三、测试

在对应的project中创建一个test.py文件,输入以下代码,编译

from utils import utilsif __name__ == '__main__':obj1 = utils()print(obj1.fun_Hello("pyd测试"))

若出现对应字符就为编译正确如下图所示:

注意:

terminal一定也要进入对应的envs,不然无法调用cython。由于之前一直使用anaconda中的spyder作为IDE,没用过pycharm,在此处被坑了一个上午。望后来者引以为戒!

参考文献:

https://blog.csdn.net/feijiges/article/details/77932382

win10 下pycharm+anaconda 编译生成pyd文件相关推荐

  1. WIN10下PyCharm+Anaconda+PyTorch-GPU+CUDA9.2+cuDNN7.2环境搭建

    国庆换了新机器联想y7000p,配置是八代I7+1066.终于可以用GPU版的框架了! 回到学校后就开始搭环境.过程中看了不少前辈们的经验,装的还算比较顺利,一个上午成功搞定. 为了以后的同学们少踩坑 ...

  2. win10下基于anaconda利用keras开展16系显卡GTX1650的GPU神经网络计算

    win10下基于anaconda利用keras开展16系显卡GTX1650的GPU神经网络计算 虽然安装了双系统,但ubantu的确是不太常用,所以还是尝试一下win10下的GPU神经网络计算.从实践 ...

  3. WIN10下通过Anaconda安装TensorFlow-GPU版本和keras

    WIN10下通过Anaconda安装TensorFlow-GPU版本和keras 环境 win10 GTX1060 版本 TensorFlow-gpu 1.9 anaconda 5.3.1 keras ...

  4. pycharm python 模板配置_windows下pycharm安装、创建文件、配置默认模板

    本文为大家分享了windows下pycharm安装.创建文件.配置默认模板的具体步骤,供大家参考,具体内容如下 步骤: 下包 -->安装-->创建文件-->定制模板 一.下包 官方地 ...

  5. java环境的配置——实现win10下双击直接运行jar文件

    java环境的配置--实现win10下双击直接运行jar文件 在渗透测试的过程中很多工具的安装和使用需要java环境,下面我来介绍一下java环境配置的超详细步骤(包含怎样实现win10下双击直接运行 ...

  6. WIN10下用anaconda安装tensorflow-gpu1.8.0并用pycharm作编译器(WIN10下anaconda+tensorflow-gpu+pycharm)

    哈哈哈,又到了写BLOG的时候啦! 题目有点长,想要装tensorflow-gpu的同志们请耐心的看下去,尤其是想要用pycharm作编译器的筒子们,小编这里将提供最简单的方法实现anaconda+t ...

  7. win10下pycharm+Qtdesigner+Pyqt 成功配置

    请在安装之前,将整个博客看完之后再进行操作!我的安装过程有点曲折// 使用Qtdesigner做可视化的界面设计,是一项很强大的工具.今天用到了,就在pycharm下配置一下,随手做点记录 Qtdes ...

  8. pybind11学习 | 在Python中构建编译生成pyd文件

    文章目录 0 准备 1. setuptools 2. pybind11.setup_helpers 3. cppimport 总结 0 准备 项目文件夹结构树如下: pybind11_setup_de ...

  9. python打开文件_喜大普奔 | 如何在Win10下利用Python打开grib文件

    为什么要花差不多半个月来研究这个,明明Linux比这个简单多了-- 窃格瓦拉·瓶:学Linux是不可能学Linux的,这辈子都不可能喜欢命令行的,Win10说话又好听,我偷别人代码养你啊(?) 总之就 ...

最新文章

  1. Jmeter安装出现Not able to find Java executable or version问题解决方案
  2. 技术走向管理一些思考(1)-性格特质和自我管理
  3. 第二阶段团队项目冲刺第六天
  4. Matlab | Matlab从入门到放弃(16)——二维图和三维图
  5. 汇编语言 test 和 cmp 区别
  6. Command10,Access数据库
  7. 微课|中学生可以这样学Python(2.3.3节):filter()函数
  8. cas修改界面html,为REST API配置的CAS将v1 / ticket重定向到登录HTML
  9. iOS_20_微博的骨架结构
  10. Win7电脑开启局域网连接和共享过程中出现的您可能没有权限使用网络资源的解决办法...
  11. CentOS 8 安装Tomcat
  12. 苹果笔记本计算机内存不足怎么办,macbook内存不够用怎么加_苹果电脑增加内存的具体方法...
  13. gw node节点 xshell连接 访问外网
  14. word在任意页开始添加页码
  15. js根据银行卡号判断属于哪个银行,并返回银行缩写及银行卡类型
  16. 160页PPT神经网络图,颜色形状随意DIY
  17. php文件目录教程,详谈PHP文件目录基础操作_PHP教程
  18. 第三方软件测试z5x电池,vivo Z5x第三方续航测试结果公布,刷新手机业续航排行榜...
  19. Allegro从ORCAD原理图生成网表后,导入Allegro PCB教程
  20. Java项目:SpringBoot图书管理系统

热门文章

  1. Muduo 网络编程示例之五: 测量两台机器的网络延迟
  2. vue3源码中的最长递增子序列
  3. mac上的更新node npm
  4. 最近阅读20171106
  5. 订餐系统之Excel批量导入
  6. PYTHON__关于Socket中的Select使用理解
  7. [转]算术编码+统计模型=数据压缩 - 第二部分:统计模型
  8. Webpack不生成index.html
  9. [Head First Java] - 给线程命名
  10. [pytorch、学习] - 4.6 GPU计算