C语言调用python的时候出错!
我在一台win7 64位上。安装了64位的python3.3。安装好之后。配置了环境变量。在命令行里直接输入python 是可以直接运行的。。
然后我用vs2008 写用C语言代码调用python的脚本。在Py_Initialize()这个函数;在这个位置就直接崩溃了。命令行里提示
Fatal Python error: Py_Initialize: unable to load the file system codec
ImportError: No module named 'encodings'
网上搜了很多。也没找到解决方法。很多人都说是环境变量。可是我明明已经设置好了。。。
网上说 在初始化之前用 Py_SetPythonHome(L"c:/Python33");来做这个事。但是还是失败了。
失败原因是
Traceback (most recent call last):
File "./FtpClient.py", line 3, in <module>
from ftplib import FTP
File "c:\Python33\lib\ftplib.py", line 41, in <module>
import socket
File "c:\Python33\lib\socket.py", line 47, in <module>
import _socket
ImportError: DLL load failed: %1 不是有效的 Win32 应用程序。
2天了。也没搞定。求大神帮忙解决!!! c语言 python 64位 vs2008 win7
[解决办法]
ImportError: DLL load failed: %1 不是有效的 Win32 应用程序
这个错误貌似是64位32位程序同时混用了,如果你装64位的python的话,c代码要编译成64位程序。装32位python的话,编译成32位程序