問題タブ [windows-98]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - Windows 98 でネットワーク経由で py2exe プログラムにアクセスすると、ImportErrors がスローされる
私はpy2exeでコンパイルされたpythonプログラムを1台のサーバーマシンから多数のクライアントマシンで実行しています(すべてのマシンのネットワークドライブにマップされています.W :など)。
Windows XP 以降のマシンでは、これまでのところ、Python が W:\python23.dll を拾うという問題はありませんでした (はい、私は W98 との互換性のために Python 2.3.5 を使用しています)。次に、W:\zlib.pyd を使用して、os などのすべての .pyc ファイルを含む W:\library.zip を解凍します。これらはインポートされ、プログラムは問題なく実行されます。
この問題は、一部の Windows 98 SE マシンで発生しています (注: 一部の Windows 98 SE マシン、その他は明らかな問題なく動作するようです)。何が起こるかというと、プログラムは W: から実行され、W:\python23.dll が見つかったと思います (Python の ImportErrors が発生しているため、Python の import ステートメントを実行できる必要があります)。いくつかのことが機能しません:
1) W:\library.zip に .pyc ファイルの唯一のコピーが含まれている場合、
ZipImportError: can't decompress data; zlib not available
(W:\zlib.pyd が利用可能であり、同じネットワーク上の XP 以降のマシンで正常に動作することを考えるとナンセンスです)。
2) .pyc ファイルが py2exe によって python exe 内に実際にバンドルされている場合、または .exe と同じディレクトリに置かれている場合、または PYTHONPATH 変数の一部として設定される名前付きサブディレクトリに置かれている場合 (例: W:\pylib) )、取得しますImportError: no module named os
(os は、sys などの前にインポートされた最初のモジュールです)。
考えてみると、osがインポートされる前にsys.pathを検索できなかったのでしょうか?これらのインポートの順序を変更してみますが、私の疑問はまだ残っています:なぜこれは散発的な問題で、一部のネットワークでは機能し、他のネットワークでは機能しないのですか? また、実行する実行可能ファイル内にバンドルされているファイルを Python に強制的に検索させるにはどうすればよいでしょうか。私は稼働中の Windows 98 SE マシンにすぐにアクセスできますが、稼働していないマシン (私の顧客) には、毎朝店が開く前にしかアクセスできません。
前もって感謝します!
編集:さて、大きな一歩前進。PY2EXE_VERBOSE でデバッグした後、特定の W98SE マシンで発生する問題は、インポートを探すときに正しいパス構文を使用していないことです。まず、PYTHONPATH 環境変数を読み取っていないようです (PY2EXE_VERBOSE のように、私が認識していない py2exe 固有のものがある可能性があります)。
第 2 に、あきらめる前に 1 か所だけを検索します (ファイルが EXE 内にバンドルされている場合は、そこを検索します。そうでない場合は、library.zip を検索します)。
EDIT 2 : 実際、thisによると、Python インタープリターの sys.path と Py2exe 実行可能ファイルの sys.path には違いがあります。具体的には、sys.path contains only a single entry: the full pathname of the shared code archive.
何とか。フォールバックはありませんか?現在の作業ディレクトリでさえありませんか?PATH に追加してみW:\
ますが、py2exe はシステム ライブラリを検索するための標準に準拠していないため、機能しません。
さて、興味深い点です。atexit、os などをロードしようとするパスは次のとおりです。
W:\\library.zip\<module>.<ext>
library.zip の後の 1 つのスラッシュですが、ドライブ文字の後の 2 つのスラッシュに注意してください (これが意図されていて動作する場合は、誰かが私を修正してください)。これが文字列リテラルの場合、スラッシュが二重にされていないため、(無効な) エスケープ シーケンスとして読み取られ、生の文字が出力されます (W:\library.zipos.pyd, W:\library.zipos.dll, ...
スラッシュの代わりに表示されます)。文字列リテラルでない場合、二重スラッシュは自動的にノルムパス化されない可能性があり (そうあるべきです)、二重スラッシュはモジュール ローダーを混乱させます。私が言ったように、set PYTHONPATH=W:\\library.zip\\
その変数を無視するという理由だけではできません。
プログラムの開始時に sys.path.append を使用する価値があるかもしれませんが、特に古い OS の 1 つの構成で問題が発生するため、ハードコーディング モジュール パスは絶対的な最後の手段です。
何か案は?私は 1 つを持っていsys.path
ますos
。もう 1 つは、追加os.getenv('PATH')
するかos.getenv('PYTHONPATH')
、sys.path に追加することです... 再び、os
モジュールが必要です。モジュールも初期化に失敗するsite
ため、.pth ファイルを使用できません。
また、最近、プログラムの開始時に次のコードを試しました。
しかし、それは linecache.pyc やその他のものをロードすることはできません。見た目からは実際にこれらのコマンドを実行することはできません。sys.path を動的に変更するために linecache を必要としない組み込み機能を使用する方法はありますか? それとも、正しい sys.path をハードコーディングする必要がありますか?
windows-7 - Windows 98 用の C プログラムは Windows 7 で動作しますか?
このプロジェクトを実行していますが、プログラムの問題があります。
ウィンドウ 98 で動作する「C」言語に基づくプログラムを選択しました。
しかし、このプログラムをウィンドウ 7 で実行する必要があります。同じプログラムが実行されるでしょうか。そうでない場合は、どうすればよいですか。
python - Python と wxPython は Windows 98 で動作しますか?
Windows 98 と XP の両方で動作するアプリケーションを作成しようとしています。私は Python を使用することにしましたが、Win'98 にインストールすることさえできません (Python 2.7 インストーラーは、Windows インストーラーの機能の欠落について何か言っていますが、AFAIK 2.0 は '98 と互換性のある最新の Windows インストーラー バージョンです)。
- Python と wxPython が動作する Windows 98 環境を持っている人はいますか? どのように機能させましたか?Python 2.7 は必要ありませんが、2.4 または 2.5 があればよいでしょう。
- そうでない場合、アクティブに維持されていて、Windows ウィジェットを表示でき、Windows 98 で動作する他の高水準言語を提案してください。(asm/C/C++ やその他の低レベル言語は問題外です。これは、ウィンドウとダイアログを表示することを主な仕事とする単純なアプリケーションです)。
c - Windows 98でのデバッグ:EIPからコード行を取得する
Windows 98(DOSモード)でコーディングしていますが、プログラムがひどくクラッシュします。クラッシュは問題なく再現できますが、グラフィックモード(VBE)、DOSモード、および割り込み処理の組み合わせがGDBとは異なるため、通常のデバッグトリック(スタックトレース、クラッシュを分離するためのすべての印刷)が失敗します。以下のために作られました。
コードの一部にコメントを付けて問題を特定しようとしましたが、クラッシュのコードの場所を正確に追跡できません。
だから私が得ることができるのはたくさんのレジスターだけです。レジスタ(EIPなど)からコード行を取得する方法はありますか?私はCでコーディングしています。
compiler-construction - Windows 98を完全にサポートする最後のSDK?
Windows98へのクイックポートを実行する必要があります。私のコードは生のC/C ++です。ヘッダー、コンパイラ、できればWindows98APIでサポートされているものを明確にするためのドキュメントが必要です。
Win98のドキュメントとともにWin98を完全にサポートしている最新のSDK(コンパイラを使用)とは何ですか?
c++ - Visual Studio2005でコンパイルされたアプリケーションをWindows98で実行できますか?
Microsoft Visual Studio 2005でプログラムを作成しましたが、正常に動作します。
私が抱えている問題は、それを使用する必要のあるマシンがWindows 98を実行していることです。私が知る限り、vc++用の再配布可能ファイルをインストールする必要があります。再配布可能ファイルをWindows98にインストールできますか、それともWindows 98で動作させる方法はありますか?
delphi - Delphi 4 Pro を Windows XP (またはそれ以降) にインストールして確実に使用できますか?
数年前、私は Windows '98 SE マシンで Delphi 4 Pro を使用して Delphi プロジェクトを作成しました。
同じ Delphi 4 Pro を Windows XP マシン(または Windows 7 などのそれ以降の OS)にインストールして、古い Delphi プロジェクトを表示および更新することは可能でしょうか?
batch-file - .batはNTベースのWindowsで動作しますが、DOSまたは9xでは動作しませんか?
Win32で実行されないゲーム用のレガシーDOSシステム用のバッチファイルを作成しました。コードはXPx86で正常に機能しますが、98SEまたはDOSで実行すると、最初のプロンプトの後に構文エラーが発生します。gotoのおかげで、ファイルはループに陥ります。これを修正するにはどうすればよいですか?
ソースコード: