18

インストール後にいくつかのエラーが発生します。

pywin32-217.win32-py2.7

最近、ArcGIS を 10.1 にアップグレードしました。Python 2.7 を使用しています (ArcGIS 10.0 に付属の 2.6 ではなく)。

Windows 7 64 ビットでインストーラーを実行すると、インストールされますが、次のメッセージがスローされます。

ファイル オブジェクト デストラクタでクローズに失敗しました:

sys.excepthook がありません

失われたsys.stderr

アップグレード前に機能していた.pdfファイルを含むフォルダーからプリンターに印刷するための簡単なpythonスクリプトがありました

import arcpy, glob, win32api, os

pdfLoc = arcpy.GetParameterAsText(0)

try:
    copies = int(arcpy.GetParameter(1))
except:
    copies = 1

for pdfname in glob.glob(os.path.join(pdfLoc, "*.pdf")):
    fullpath = os.path.join(pdfLoc, pdfname)
    for copy in range(copies):
        win32api.ShellExecute(0, "print", pdfname, None, ".", 0)

del fullpath
del pdfname
del pdfLoc

スクリプトを実行すると、次のエラーが表示されます。

トレースバック (最後の最後の呼び出し): ファイル "Z:\ESRI\Python\Solstice_Tools_Scripts\Printer_Tools\Batch_Print_From_PDF_Only\BatchprintFromPDFOnly_Test.py"、34 行目、win32api.ShellExecute(0, "print", pdfname, None, ".", 0) エラー: (31、'ShellExecute'、'システムに接続されたデバイスが機能していません。')

実行に失敗しました (BatchPrintFromPDFOnly2)。

グーグルで検索して、実行可能ファイルをトラブルシューティング モードで実行するなど、いくつかの解決策を試しましたが、エラーは解決しません。誰がこれを引き起こす可能性があるかを提案できますか?

ちなみに、社内の 4 台のコンピューターを新しいバージョンの Python と ArcGIS にアップグレードしましたが、そのうちの 1 台だけがこのエラーをスローしています。残りは正常に動作します。

ありがとう、マイク

4

9 に答える 9

9

別の解決策は、マーク ハモンドがpywin32 メーリング リストで提案しているものです。

これは、ユーザー アクセス制御 (UAC) が無効になっている場合に発生するようです。無効になっていますか?

いずれにせよ、インストール ディレクトリのルートから「python scripts\pywin32_postinstall.py -install」を実行すると、登録が完了し、次に表示されるエラーが修正されます。

これは私にとってはうまくいきました。

于 2014-01-23T19:43:45.847 に答える
6

管理者としてインストールしないでください。このバグレポートを参照してください。

これは、「管理者」アカウントでWindowsを実行していて、通常実行するものはすべて「管理者として実行」と同じであることが原因である可能性があります。

そして逆説的に、管理者としてWindows 7にpywin32のインストールを実行すると、このエラーが発生します。

したがって、回避策は別の管理者アカウントを作成することです

ネットユーザー管理者/追加
ネットユーザー管理者
ネットローカルグループ管理者管理者/追加

次に、pywin32のインストールを実行します。

runas /user:Admin pywin32-217.win32-py2.7.exe

于 2012-08-21T19:14:18.540 に答える
5

どのソリューションも役に立ちませんでした(Windows 10に座っています)。

しかし、 c:\python27\scripts\pywin32_postinstall.py -install を実行すると、最終的に修正されました

インストール後、念のためにインストーラーを再度実行してみてください。

于 2015-08-24T08:07:16.767 に答える
2

PowerShell command as adminWindows 10 でa から実行するとうまくいきましたが、a はCommand line prompt (as admin)失敗しました。

于 2017-06-27T11:22:08.200 に答える
2

私は著者と同じ問題に遭遇しました。Tim Golden python スタッフのスクリプトを使用して、テキスト ファイルを印刷しました。実行後、次のようなエラーが発生します。

pywintypes.error: (31, 'ShellExecute', 'システムに接続されたデバイスが機能していません.')

私のシステムは Windows 7、64 ビットです。pythonはpython2.7 64bitです。

このエラーは、pywin32 のインストールや Windows システムの設定とは関係がないと思います。その理由は、.txtファイルへのデフォルトのオープニングソフトウェア設定にあると思います。デフォルトのオープニング ソフトウェアを Nodepad++ からメモ帳に変更した後、Hp プリンターでファイルを印刷できるようになりました。

于 2015-02-03T08:51:07.863 に答える
0

pywin32 のインストール手順 -

  1. ネットユーザー管理者/追加
  2. ネットユーザー管理者
  3. net localgroup 管理者 Admin /add
  4. runas /user:Admin pywin32-217.win32-py2.7.exe
于 2012-08-24T09:43:47.233 に答える