我已经搜索过高低,但之前没有找到准确地问过这个问题。我是这个过程的新手,所以答案可能很简单。
我在 Anaconda 虚拟环境model
中运行 Python,该环境引用了C:\Program Data (x86)
. 所有这些都在我刚刚创建的 Windows 64 位 AWS 云服务器上,所以这台机器除了我今天手动添加的那些之外没有任何安装。我已经安装了带有 Python 2.7 的 Anaconda 2--4.3.1 32 位、软件本身和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
。当我也将那个解编译为 a.py
时,它可以工作,但我在下一次导入时遇到了同样的问题。
此外,当我在本地机器上执行整个过程时,包括所有安装和相同的 Anaconda 版本以及完全相同的目录,一切正常。
看来我的 AWS 云服务器上的 Python 真的只是无法读取.pyc
s 和.pyd
s。uncompyle6
一次可以工作,但我不能为.pyd
s 做,而且有数百个这样的库。
什么可能导致 Python 无法导入这些.pyc
文件?是因为我使用的是带有这些 32 位脚本的 64 位服务器吗?根据这个线程,它可能是 Python 的“调试”版本吗?它与__pycache__
或有关cython
吗?是否有这样做的安全设置?
我的目标只是让 Python 读取库,这样我就可以在model
. 任何帮助表示赞赏。