是什么原因导致Python无法在新的云服务器上读取.pyc或.pyd文件?

2024-04-25 21:27:31 发布

您现在位置:Python中文网/ 问答频道 /正文

我到处找了,但还没有找到这个问题。我不熟悉这个过程,所以答案可能很简单

我正在Anaconda虚拟环境model中运行Python,该环境引用了C:\Program Data (x86)中32位软件的Python 2.x库。所有这些都是在我刚刚创建的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似乎在读取.pyc.pyd时遇到了问题uncompyle6一次可以做到这一点,但我不能为{}做这件事,而且有数百个这样的库

是什么导致Python无法导入这些.pyc文件?是因为我使用64位服务器和这些32位脚本吗?它可能是Python的“调试”版本吗?这与__pycache__cython有关吗?是否有安全设置可以执行此操作

我的目标是让Python读取库,这样我就可以在model中运行。感谢您的帮助


Tags: 文件inpy版本服务器目录model软件