【发布时间】: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