问题标签 [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 程序(映射到每台机器上的网络驱动器,比如 W:)。
对于 Windows XP 和更高版本的机器,到目前为止,Python 获取 W:\python23.dll 的问题为零(是的,我使用 Python 2.3.5 来兼容 W98 等等)。然后它将使用 W:\zlib.pyd 解压缩包含所有 .pyc 文件(如 os 等)的 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 的变量,比如 PY2EXE_VERBOSE)。
其次,它在放弃之前只在一个地方查找(如果文件捆绑在 EXE 中,它会在那里查找。如果没有,它会在 library.zip 中查找)。
编辑 2:事实上,据此,Python解释器中的 sys.path 与 Py2exe 可执行文件之间存在差异。具体来说,sys.path contains only a single entry: the full pathname of the shared code archive.
布拉。没有退路?甚至没有当前的工作目录?我会尝试添加W:\
到 PATH,但 py2exe 不符合任何类型的系统库定位标准,所以它不起作用。
现在是有趣的一点。它尝试加载 atexit、os 等的路径是:
W:\\library.zip\<module>.<ext>
请注意 library.zip 后的单斜杠,但驱动器号后的双斜杠(如果这是有意的并且应该有效,请纠正我)。看起来如果这是一个字符串文字,那么由于斜杠没有加倍,它被读取为(无效)转义序列并打印原始字符(给出W:\library.zipos.pyd, W:\library.zipos.dll, ...
而不是斜杠);如果它不是字符串文字,则双斜杠可能不会自动进行规范路径(应该如此),因此双斜杠会混淆模块加载器。就像我说的,我不能仅仅set PYTHONPATH=W:\\library.zip\\
因为它忽略了那个变量。
在我的程序开始时使用 sys.path.append 可能是值得的,但是硬编码模块路径绝对是最后的手段,特别是因为问题发生在过时操作系统的 ONE 配置中。
有任何想法吗?我有一个,这是sys.path
我需要os
的。另一个是再次附加os.getenv('PATH')
或添加os.getenv('PYTHONPATH')
到 sys.path...,需要os
模块。该site
模块也无法初始化,所以我不能使用 .pth 文件。
我最近还在程序开始时尝试了以下代码:
但它无法加载 linecache.pyc 或其他任何内容;它实际上无法从事物的外观上执行这些命令。有什么方法可以使用不需要 linecache 来动态修改 sys.path 的内置功能?还是我只能硬编码正确的 sys.path?
windows-7 - 适用于 Windows 98 的 C 程序能否在 Windows 7 中运行?
我正在执行这个项目,但程序有问题。
我们选择了一个基于“C”语言的程序,该程序在 98 窗口上运行。
但是我们需要在窗口 7 中运行这个程序。那么同样的程序会运行还是不运行?如果没有,那该怎么办。
python - Python 和 wxPython 可以在 Windows 98 上运行吗?
我正在尝试编写一个可以在 Windows 98 和 XP 上运行的应用程序。我决定使用 Python,但我什至无法在 Win'98 上安装它(Python 2.7 安装程序说明了 Windows Installer 缺少功能,但 AFAIK 2.0 是与 '98 兼容的最新 Windows Installer 版本)。
- 有没有人有一个使用 Python 和 wxPython 的 Windows 98 工作环境?你是怎么让它工作的?我不需要 Python 2.7,但 2.4 或 2.5 会很好。
- 如果不是,您会建议哪些其他高级语言得到积极维护,可以显示 Windows 小部件并适用于 Windows 98?(asm/C/C++ 和其他低级语言是没有问题的——这是一个简单的应用程序,其主要工作是显示窗口和对话框)。
c - 在 Windows 98 上调试:从 EIP 获取代码行
我在 Windows 98(DOS 模式)下编码,我的程序严重崩溃。我可以很好地重现崩溃,但是我的正常调试技巧(堆栈跟踪,printf 整个事情以隔离崩溃)失败了,因为图形模式(VBE)、DOS 模式和中断处理的组合显然不是 GDB 是为。
我尝试评论部分代码以隔离问题,但我无法准确追踪崩溃的代码位置。
所以我能得到的只是一堆寄存器。有没有办法从寄存器中检索一行代码(如 EIP)?我正在用 C 编码。
compiler-construction - 最后一个完全支持 Windows 98 的 SDK?
我需要快速移植到 Windows 98。我的代码是原始 C/C++,我只需要头文件、编译器,最好是一些文档来阐明 Windows 98 API 支持的内容。
什么是最新的仍然完全支持 Win98 的 SDK(带有编译器),带有 win98 文档?
c++ - 我可以在 Windows 98 上运行在 Visual Studio 2005 中编译的应用程序吗?
我在 Microsoft Visual Studio 2005 中构建了一个程序,它运行良好。
我遇到的问题是它需要使用的机器正在运行 Windows 98。据我所知,我需要安装可重新分发的 vc++。我可以在 Windows 98 上安装可重新分发的软件,还是有办法让它在 Windows 98 上运行?
delphi - Delphi 4 Pro 能否在 Windows XP(或更高版本)上可靠地安装和使用?
几年前,我在 Windows '98 SE 机器上使用 Delphi 4 Pro 来创建 Delphi 项目。
在 Windows XP 机器(或更高版本的操作系统,如 Windows 7)上安装相同的 Delphi 4 Pro 来查看和更新旧的 Delphi 项目是否可行?
batch-file - .bat 适用于基于 NT 的 Windows 但不适用于 DOS 或 9x?
我为不能在 Win32 上运行的游戏编写了一个用于遗留 DOS 系统的批处理文件。该代码在 XP x86 下运行良好,但是当我在 98SE 或 DOS 中运行它时,在第一次提示后出现语法错误。由于 goto,文件运行到一个循环中。我该如何解决?
源代码:
windows-98 - windows98打印到文件
我有一台旧的医疗设备,软件只能在 windows98 上运行,没有可用的更新,我的问题是我找不到与 win98 兼容的打印机,而且该软件只能在并行端口 (LPT) 上打印,
所以现在我正在寻找一些技巧来使用虚拟打印机或任何东西打印到文件(图像,pdf,...)中,所以任何帮助或想法都会得到重视!
winapi - Windows 98 环境中的 InterlockedCompareExchange
我被迫在windows 98 se
. vc6
有奇怪的InterlockedCompareExchange
定义:
msdn
然而,像这样定义它(因为windows xp
):
有谁记得如何使用它(我需要原子地获取互锁变量的值)?