什么可能导致 Python 无法读取新云服务器上的 .pyc 或 .pyd 文件?

What may be causing Python to not read .pyc or .pyd files on a new cloud server?

我到处搜索,但没有找到这个问题。我是这个过程的新手,所以答案可能非常简单。

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

当我打开 Anaconda 提示并输入 activate model 然后尝试 Python- 从软件导入我需要的任何 .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 只用了一次,但 .pyd 之后我就做不到了,而且有数百个这样的库。

什么可能导致 Python 无法导入这些 .pyc 文件?是因为我使用的是带有这些 32 位脚本的 64 位服务器吗?根据 this thread,它可能是 Python 的 "debug" 版本吗?与__pycache__cython有关吗?是否可以通过安全设置来执行此操作?

我的目标只是让 Python 阅读库,这样我就可以 运行 model 中的东西。感谢任何帮助。

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