【问题标题】:What may be causing Python to not read .pyc or .pyd files on a new cloud server?什么可能导致 Python 无法读取新云服务器上的 .pyc 或 .pyd 文件?
【发布时间】:2020-03-03 18:44:44
【问题描述】:

我搜索了高低,但没有找到以前准确提出的这个问题。我是这个过程的新手,所以答案可能很简单。

我在 Anaconda 虚拟环境 model 中运行 Python,它引用了 C:\Program Data (x86) 中的 32 位软件的 Python 2.x 库。所有这些都在我刚刚创建的 Windows 64 位 AWS 云服务器上,所以这台机器除了我今天手动添加的那些之外没有任何安装。我已经安装了 Anaconda 2--4.3.1 32 位和 Python 2.7、软件本身和 model(其中包含许多 Python 包的特定版本)。

当我打开 Anaconda 提示符并输入 activate model,然后尝试从软件中导入我需要的任何 .pyc.pyd 文件时,我得到:

File "<stdin>", line 1, in <module>
ImportError: DLL load failed: The specified module cannot be found.

我很确定这不是目录问题。当我使用uncompyle6 将任何.pyc 文件反编译为.py 文件并将其放入同一目录时,该命令工作正常,直到必须导入下一个.pyc

File "<stdin>", line 1, in <module>
File "c:\program data (x86)\[rest of the filepath]\app.py", line 8, in <module>
   import core._services as value1
ImportError: DLL load failed: The specified module cannot be found.

^ 正在尝试导入 core._services.pyc。当我也将那个解编译为.py 时,它可以工作,但我在下一次导入时遇到了同样的问题。

此外,当我在本地机器上执行整个过程时,包括所有安装和相同的 Anaconda 版本以及完全相同的目录,一切正常。

我的 AWS 云服务器上的 Python 似乎真的无法读取 .pycs 和 .pyds。 uncompyle6 一次可以用,但我不能为.pyds 做,而且有数百个这样的库。

什么可能导致 Python 无法导入这些 .pyc 文件?是因为我使用的是带有这些 32 位脚本的 64 位服务器吗?根据this thread,它可能是 Python 的“调试”版本吗?与__pycache__cython 有关吗?是否有这样做的安全设置?

我的目标只是让 Python 读取库,以便我可以在 model 中运行。任何帮助表示赞赏。

【问题讨论】:

    标签: python import compilation pyc pyd


    【解决方案1】:

    听起来您缺少一个 DLL,或者它没有保存在适当的位置。

    【讨论】:

      猜你喜欢
      • 2012-02-07
      • 1970-01-01
      • 2013-04-26
      • 1970-01-01
      • 1970-01-01
      • 2021-03-25
      • 2018-04-14
      • 1970-01-01
      • 2016-04-14
      相关资源
      最近更新 更多