如何将内置的 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 应用程序从一个开发者帐户转移到另一个帐户? [关闭]

如何将输入从一个声卡重定向到另一个?

如何将付费安卓应用从一个谷歌账户转移到另一个谷歌账户

如何直接将 blob 从一个存储帐户转移到另一个存储帐户,而无需先在内存中下载?

将焦点从一个组件转移到另一个组件