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

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

2017年05月18日 12907点热度 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终身网盘
建了个群,想一起交流的可以加入下
最新 热点 随机
最新 热点 随机
解决中文Windows11编译chromium过程中报错gbk问题 什么人必须买抗投诉服务器DMCA Ignored Hosting APP里面增加cloak的跑法可行性研究 Facebook Dating友缘是什么账号,能用来干什么? 【指纹浏览器系列】十、闲话聊一聊指纹浏览器的用途 【指纹浏览器系列】九、 编写自己的指纹浏览器以及指纹信息的来源
Facebook Dating友缘是什么账号,能用来干什么? 如何使用TrafficArmor的self-hosted JavaScript部署方式 如何在屏蔽了右键和选中文本的网页上复制文本 【指纹浏览器系列】四、命令行形式浏览器多开解决方案 【指纹浏览器系列】十、闲话聊一聊指纹浏览器的用途 中文博客英文垃圾评论过多,博客开启akismet垃圾评论管理插件的设置
标签聚合
markdown插件 浏览器指纹 Adsense TrafficArmor facebook广告投放 Youtube Adsense pyppeteer 指纹浏览器

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

THEME KRATOS MADE BY VTROIS

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