如何将内置的 Cython 扩展从 PC 转移到另一台?
Posted
技术标签:
【中文标题】如何将内置的 Cython 扩展从 PC 转移到另一台?【英文标题】:How to transfer a built Cython extension from a PC to another? 【发布时间】:2019-05-27 08:33:22 【问题描述】:我有一台 PC,当我构建 cython 扩展时,我无法在其中运行 setup.py 文件,因为我没有安装 VC++ 14.0(适用于 python 3)的管理员权限。所以我决定在另一台运行良好的 PC 上构建 cython 扩展。现在我想将 cython 模块(例如 helloword)传输到另一台 PC。
我尝试复制运行 setup.py 后生成的所有文件,但它无法识别模块并显示以下消息:
我使用 python 3.7.3 构建 cython 扩展,然后将所有文件复制到 python 3.6.1。两台PC都在Windows上。我在两个窗口上都使用 pycharm 2019。
我的项目结构如下:
【问题讨论】:
“不识别”模块是什么意思?错误信息是什么?而且你必须更精确地了解你的 Python 版本,即至少多一个数字。另外两台电脑都有什么操作系统? 不要忘记,如果您不安装该模块,则必须将其添加到您PATH
或从该目录运行您的脚本
@ead 我更新了我的问题,希望现在更清楚了。
@Nullman:我成功地使用从目录导入其他 python 文件,而不是 cython 扩展名。
基本上你不能/不应该在 CPython3.Y 上运行来自 CPython3.X 的扩展。见python.org/dev/peps/pep-3147。您应该使用正确的 Python 版本来构建它们。
【参考方案1】:
正如评论中已经提到的,您不能在 3.6 版本中运行已编译的 3.7 cython(至少对于 Windows)。另外,架构也应该完全一样(不能在32位机器上编译,在64位机器上部署)
一旦你解决了所有的依赖问题,你应该运行python setup.py bdist_wheel
命令来创建***,然后运行pip install <path_to_wheel>
【讨论】:
以上是关于如何将内置的 Cython 扩展从 PC 转移到另一台?的主要内容,如果未能解决你的问题,请参考以下文章
如何将资金从一个 PayPal 账户转移到另一个 PayPal 账户?
如何将 iOS 应用程序从一个开发者帐户转移到另一个帐户? [关闭]