【问题标题】:How to transfer a built Cython extension from a PC to another?如何将内置的 Cython 扩展从 PC 转移到另一台?
【发布时间】: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 版本来构建它们。

标签: python c++ cython


【解决方案1】:

正如评论中已经提到的,您不能在 3.6 版本中运行已编译的 3.7 cython(至少对于 Windows)。另外,架构也应该完全一样(不能在32位机器上编译,在64位机器上部署)

一旦你解决了所有的依赖问题,你应该运行python setup.py bdist_wheel命令来创建轮子,然后运行pip install <path_to_wheel>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-02-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-12
    相关资源
    最近更新 更多