4

ウィンドウ 64 ビットの Python 2.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 など) をロードできますが、今夜 (分析を完了する必要があります!!!) この不便さがあります。

4

4 に答える 4

3

Python 2.7 64b エディションを使用していることを確認してください :) または、64b OS で作業している場合でも、PyScripter の x86 (AKA 32b) エディションを使用してください。

編集 1 (Gianni とのコメント交換後)

32b/64b ビルドの意味で、同じエンティティから「構成された」Python プロセス全体を検証する必要があります (たとえば、Python インタープリターが 32b の場合、32b としてコンパイルされた C dll Python 拡張機能からの C 型を使用する必要があります)。 dll)。

この例 (liblas)では、 に移動しC:\Python27\lib\site-packages\liblas、拡張子 dll を見つけて、dumpbinを介してそのタイプを確認する必要があります。デモ用の画像を次に示します。

ここに画像の説明を入力

于 2013-03-13T00:41:04.960 に答える
2

このエラーは、Python が実行しようとしている DLL が新しいバージョンの C++ でコンパイルされているために発生することもあります。Microsoft C++ ディストリビューションの最新バージョンを実行していることを確認してください。

実行中のバージョンは Python ターミナル ウィンドウで確認できます (太字で強調表示)。

Python 3.5.1 (v3.5.1:37a07cee5969、2015 年 12 月 6 日、01:38:48) [ MSC v.1900 32 ビット (Intel) ] (win32 )

ここからダウンロード

https://www.microsoft.com/en-us/download/details.aspx?id=48145

于 2016-03-24T14:01:40.290 に答える
0

このエラーも発生した場合は、python.exe ファイルを確認してください。

私の場合、以下に示すように破損していました。

ここに画像の説明を入力

そこで、別の venv からコピーして、依存関係を再インストールしました。

それからそれは働いた:)

于 2021-02-26T14:32:32.200 に答える