我希望在Windows64位上导入Python2.7中的liblas模块。如果我使用IDLE (Python GUI)导入模块,我没有问题。
如果我使用PyScripter“PyScripter v2.5.3-x64-Setup.exe”,我得到这个错误信息。
>>> import liblas
Traceback (most recent call last):
File "<interactive input>", line 1, in <module>
File "C:\Python27\lib\site-packages\liblas\__init__.py", line 2, in <module>
from core import get_version
File "C:\Python27\lib\site-packages\liblas\core.py", line 138, in <module>
las = ctypes.CDLL(os.path.join(local_dlls, lib_name))
File "C:\Python27\Lib\ctypes\__init__.py", line 365, in __init__
self._handle = _dlopen(self._name, mode)
WindowsError: [Error 193] %1 is not a valid Win32 application我已经在PyScripter中多次使用liblas,没有问题,现在我可以加载所有标准模块(例如: numpy、GDAL等),但今晚(我需要完成分析!)我有这样的不便。
发布于 2013-03-13 08:41:05
请确保安装了Python2.7 64b版:),或者即使您使用的是64b操作系统,也请使用PyScripter的x86 (又称32b)版本
编辑1(以下与Gianni交换评论)
一个人应该验证他/她的整个Python过程是由32b/64b构建意义上的相同实体“组成”的(例如,如果你的Python解释器是32b解释器,那么它必须使用来自C dll Python扩展的C类型,这些扩展被编译为32bdll)。
在我们的示例(liblas)中,用户应该转到C:\Python27\lib\site-packages\liblas,找到扩展dll并通过dumpbin查看它的类型,下面是一些演示图片:

发布于 2016-03-24 22:01:40
此错误也可能是因为Python尝试运行的DLL已在较新版本的C++上编译。请确保您运行的是Microsoft C++发行版的最新版本。
您可以在Python终端窗口中看到正在运行的版本(以粗体突出显示)
win32上的Python 3.5.1 (v3.5.1:37a07cee5969,Dec 6 2015,01:38:48) MSC v.1900 32位(英特尔)
点击此处下载
https://www.microsoft.com/en-us/download/details.aspx?id=48145
发布于 2018-09-07 01:17:03
您可能正在使用64位Python。您应该改为安装32位版本。
https://stackoverflow.com/questions/15374710
复制相似问题