アクセスpy2exeプログラムに対してネットワークにはWindows98投ImportErrors
-
18-09-2019 - |
質問
私は運py2exeコンパイルされたpythonプログラムからサーバマシンのクライアントマシン(マップされるネットワークドライブにはあらゆる機械というW).
Windows XP以降機していること、もう一つは、ゼロの問題はPythonの持ち直しW:\python23.dll あり、私が使っているPython2.3.5のためのW98互換性およびすべてのこと).その後の使用W:\zlib.pyd 解凍W:\library.zip すべてを含む。pycファイルosなど、その輸入および、プログラム特に問題ございません。
問題になっていは一部のWindows98SE機(注:一部のWindows98SE機、その他う作業が困難な状況にあると思います。そのプログラムからW、W:\python23.dll はい、らっPython ImportErrors、私たちの必要を実行することができるようになPythonの輸入書がカップルでのんの仕事:
1)W:\library.zip を含むのみをコピーします。pycファイルを取得しま
ZipImportError: can't decompress data; zlib not available
(ナンセンスを考慮し、W:\zlib.pyd は、作品の細はXP以上の機械と同じネットワーク)。
2).pycファイルは実際に同梱のpythonエグゼによるpy2exe、同じディレクトリになります。エグゼ、又は入れ名前のサブディレクトリを設定しの一部として変数PYTHONPATH(e.g W:\pylib)を取得しま ImportError: no module named os
(osのモジュールの輸入は、sysとなるようにします。
そういえば、sys.道なりの検索の場合osの輸入れる前にいってちょっと違うな。私の切り替えの方に輸入が私の質問はまだ立って:なぜこの癌を発行、一部のネットワークがあります。および方法を教えてください力Pythonのファイルが同梱の非常に実行ます。私は即時にアクセスが必要であることをWindows98SE機械が得られ、アクセスできる作業(お客様の毎朝の前に店舗を開設。
感謝。
編集:大丈夫、大きな一歩を踏み出します。後にデバッグをPY2EXE_VERBOSE、問題の発生を特定のW98SE機械のことなのパスの書式が見たい。まずするものではありませんように環境変数PYTHONPATH ーもありますので、py2exe-特私は知らないように、PY2EXE_VERBOSE).
その上でしか見る一方、バプティスタの家の前でグル(ダウンロードファイルは、同梱のEXEのように見えます。ない場合には、見た目にも鮮やかにlibrary.zip).
編集2:人によって この, あの違いはsys.パスのPythonインタプリタとPy2exe実行可能ファイル.具体的には、 sys.path contains only a single entry: the full pathname of the shared code archive.
Blah.なfallbacks?というものはなく、現在の作業ディレクトリ?私が追加 W:\
PATHがpy2exeない場合には、並べ替えのための基準位置のシステムライブラリでいます。
現在の興味深います。の経路をロードしようとするatexit-os-画面解像度等)をからです:
W:\\library.zip\<module>.<ext>
注のシングルスラッシュ後library.zipが、ダブルスラッシュ後のドライブ文字(人が正しい場合はこだてしまいます。このように見えばこの文字列リテラル、それ以降のスラッシュならで読むとして(無効)エスケープシーケンスの原文字がプリントを W:\library.zipos.pyd, W:\library.zipos.dll, ...
の代わりにスラッシュ);ない場合は文字列リテラルは、ダブルスラッシュがないことnormpath思いを自動的にサイズを変更する機能を提供でき、ダブルスラッシュを混乱させたモジュールをロードします。たなか set PYTHONPATH=W:\\library.zip\\
なので無視する変数となります。
するのが良いでしょうをsys.ます。追加のプログラムがハード-コーディングモジュールのパスが絶対最後のリゾートでの問題が発生した場合、一構内の古いOS.
そのアイデア?はい、normpathの sys.path
..残念だ os
います。他に追加 os.getenv('PATH')
または os.getenv('PYTHONPATH')
をsys.パ---再度が必要なの os
モジュールです。の site
モジュールのものに失敗したinitialiseんを使用することはできません.pthファイルです。
またその次のコードの始めにプログラム:
for pth in sys.path:
fErr.write(pth)
fErr.write(' to ')
pth.replace('\\\\','\\') # Fix Windows 98 pathing issues
fErr.write(pth)
fErr.write('\n')
ができな負荷linecache.pycことなど、何でも結構ですので、その物かを実際に実行した場合はそのコマンドが入っています。、本当にありがとうに機能するは必要ありませんlinecacheを変更sys.経路を動的に?またはamを減らしたハードコードのsys.ですか。
解決 2
問題は、もはや私にとっては問題であり、私は(またはそこに私の仕事を辞め関与していない可能性があります)の代替ソリューションを見つかりませんでした。誰か他の人まで、この答えを受け入れると、より満足のいく解決策を提供することができます。
他のヒント
こんに直接答えが可能です。知っていま -v
オプションエラーになります。タイプ python -h
しています。注のと同等の PYTHONVERBOSE
環境変数py2exeいスクリプトが PY2EXE_VERBOSE
, に記載の通り、ほぼどを除き、 このポストによる著者.ができるまでに価値が1や2のときは、基本的にはよう -v
や -vv
, が違うから どのようPYTHONVERBOSE作品.
注もおsys.パスの考えているかどうか取得します輸入 sys
ていないかどうかが輸入 os
.そのPythonパスに見える sys.path
正常にご利用く、それを反映しているという点からして内部の通訳であるかどうかにかから輸入されsysモジュールです。
としてのその他のモジュール sys
は内蔵ので、必ずimportable場合でもアプリの動きをタイムリーかつ詳細痛んだ.場合でも、利用できる場合もあり sys.builtin_module_names
うためのバージョンのブランド、。場合には通訳者はすべての情報が利用できることとなので、以下の場合が最も有益なプログラムを実現できるどん:
import sys
print sys.builtin_module_names
また、ドに対して"パッケージのように束ねます。pycファイル内できます。exe.また十分に働いてしまいましたがっ支援Win98、まったくなったと思い最も単純なアプローチということを仕事とする興味深いです。だけを取り付けるだけで通常のPython実行ソースから、スタッフの対応に非常にもう!:)
編集 などへのリンクPY2EXE_VERBOSE情報当たりのコメントdarvids0n.