三分醉博客
  • 首页
  • Affiliate Marketing
    • Adsense系列教程
    • Facebook广告投放
    • Youtube基础入门
  • 程序语言
  • 工具与技巧
  • 三分醉随笔
  • 联系方式
  1. 首页
  2. 程序语言
  3. 正文

.py源码转换成.pyd通过cpython(win7_64_python35环境)

2017年05月18日 11520点热度 33人点赞 0条评论

环境配置

安装Visual C++ Build Tools 2015

因为是cython支持python35,根据cython的wiki显示需要安装vc++库:
https://github.com/cython/cython/wiki/CythonExtensionsOnWindows
但是上面说的离线ISO库我并没有安装成功,默认下载的是32位,并且不能选择,后根据微软官方对于python3.5之后的支持是需要下载Visual C++ Build Tools 2015,官方下载地址:
http://go.microsoft.com/fwlink/?LinkId=691126
官方解释:https://blogs.msdn.microsoft.com/pythonengineering/2016/04/11/unable-to-find-vcvarsall-bat/#comments

如果提示需要.net4.5.1那就去微软官网下载个,要保证是64位的。
安装这个要确保先删除干净电脑的c++环境。
安装的时候我选的是自定义安装,然后去掉了win10的支持,其他的都选中了。安装之后并不需要重启,只需要重新打开cmd窗口即可。
如果是Ubuntu系统默认python3.4下记得安装环境
apt-get install -y build-essential python3-dev libssl-dev libffi-dev libxml2 libxml2-dev libxslt1-dev zlib1g-dev python3-numpy

安装cython

pip install cython

如果安装没提示错误信息说明,上一步环境正确,并且cython安装正确。

安装easycython

试了一些方法和库,这个最方便只要一行代码就可以搞定。
https://github.com/cjrh/easycython

pip install easycython

这个模块也会自动安装依赖的cython,如果上步安装cython失败,也可以直接尝试安装easycython来试。

转换步骤

将.py文件重命名为.pyx
运行命令

easycython *.pyx

上面会将当前文件夹下所有的.pyx文件生成为.pyd
如果只生成单个的main.pyx
main.pyx内容:

def test(): print('Hello sanfenzui!')

开始生成:

easycython main.pyx

生成文件main.cp35-win_amd64.pyd
手动将其重命名为main.pyd
注意:这里重命名时去掉“.cp35-win_amd64”不要更改前面的名字,否则不能正常引用
然后python环境下
import main #保证当前文件夹下没有main.py或者mian.pyc
main.test()
就会输出欢迎信息了。

遇到的问题

  1. ERROR:root:No valid source filenames were supplied.
    出现这个是使用
  2. running build_ext building 'example' extension error: [WinError 2] 系统找不到指定的文件。

    解决办法

  3. 卸载所有的vc++的电脑上所有的版本(坑爹的就是一些游戏会给你自动安装各个版本)
  4. 卸载cython和easycython
    pip uninstall cython
    pip uninstall easycython
  5. 安装上面的Visual C++ Build Tools 2015
  6. 安装cython和easycython

本文由三分醉博客原创,转载请注明:https://www.sanfenzui.com/py2pyd_win7x64_python35.html

文章同步更新在知乎:三分醉 - 知乎

本作品采用 知识共享署名-非商业性使用 4.0 国际许可协议 进行许可
标签: cython py2pyd pyd创建 python35 cython python35 pyd PyToPyd 安装easycython
最后更新:2019年09月25日

三分醉

https://www.sanfenzui.com/about-me

点赞
下一篇 >

文章评论

取消回复

广告
建了个群,想一起交流的可以加入下
2TB终身网盘
最新 热点 随机
最新 热点 随机
代群友招聘FB广告投手,谷歌投手 什么人必须买抗投诉服务器DMCA Ignored Hosting APP里面增加cloak的跑法可行性研究 Facebook Dating友缘是什么账号,能用来干什么? 【指纹浏览器系列】十、闲话聊一聊指纹浏览器的用途 【指纹浏览器系列】九、 编写自己的指纹浏览器以及指纹信息的来源
【指纹浏览器系列】七、python改变浏览器指纹 使用pyppeteer替代selenium模拟登录谷歌Youtube 【指纹浏览器系列】一、指纹浏览器的原理与应用 代群友招聘FB广告投手,谷歌投手 Adsense美国账号如何免税和EIN,具体税务信息的填写 Youtube开启获利的条件及一些专有名词MCN、YPP的解释
标签聚合
指纹浏览器 Youtube Adsense Adsense pyppeteer markdown插件 TrafficArmor 浏览器指纹 facebook广告投放

COPYRIGHT © 2020 三分醉博客. ALL RIGHTS RESERVED.

THEME KRATOS MADE BY VTROIS

关于我: about-me 友情链接: 三分醉的小伙伴们