Jython-javaos.getenv()给出“无法获取环境,环境将为空”

问题描述 投票:3回答:5

[每当我在Eclipse中运行任何jython程序时,在输出的开头都会出现以下错误:

“未能获得环境,环境将会空:(0,'执行命令失败([\'sh \',\'-c \',\'env \']):java.io.IOException:无法运行程序“ sh”:Crea teProcess error = 2,系统找不到文件指定')

首先,我的环境是:

Windows 2008

JDK 1.6.0u10

jython 2.2.1

我做了一些挖掘,然后才意识到此消息是在函数javaos.getenv()中产生的。每当我调用javaos.getenv()函数时,它都会引发以下错误:

C:\ jython2.2.1> java -jar jython.jar

导入javaos

打印javaos.getenv(“ user.name”)

无法获得环境,环境将为空:(0,'执行失败命令([\'sh \',\'-c \',\'env \']):java.io.IOException:无法运行程序“ sh”:Crea teProcess error = 2,系统找不到文件指定')

这很奇怪,因为我当前使用的是Windows计算机,而不是Unix。

jython
5个回答
4
投票

尝试取消注释并更改“注册表”文件中的os设置


2
投票

有趣。好吧,我似乎在这里找到了相关的代码:http://www.koders.com/python/fid4B7C33153C1427D2CE19CE361EA9519D1652F802.aspx?s=self


2
投票

我正在Windows 7上运行。我正在Websphere wsadmin工具中将Jython作为脚本运行。我遇到了同样的错误。我将这些行从javaos.py剪切粘贴到了脚本中:os或sys.registry.getProperty(“ python.os”)或\ java.lang.System.getProperty(“ os.name”)并返回“ Windows Vista”。因此,我进行了与上述建议相同的手术,即,将Windows Vista添加到javaos.py中,这解决了我的问题。


0
投票

[我在Eclipse / PyDev下使用Windows Vista和Jython 2.5.1时遇到了相同的错误,方法是编辑javaos.py,以便在getOsType的OR语句中包含“ Windows Vista”;我修复了错误。 (我已在SourceForge的PyDev Tracker下提交了此修复程序的错误。)


0
投票

我使用了Dave Brands博客中的此技巧:http://dbrand666.wordpress.com/2010/04/08/fix1/

© www.soinside.com 2019 - 2024. All rights reserved.