无法从env获取用户名

2024-06-16 19:20:13 发布

您现在位置:Python中文网/ 问答频道 /正文

    Thu, 06 May 2021 13:49:05 Desmond Driver v2.3
Traceback (most recent call last):
  File "/opt/schrodinger2021-1/internal/bin/desmond_driver.py", line 294, in <module>
    main(sys.argv[1:])
  File "/opt/schrodinger2021-1/internal/bin/desmond_driver.py", line 279, in main
    driver_model = get_driver_model(option.destrier_flag, backend)(args,
  File "/opt/schrodinger2021-1/internal/bin/drivermodel.py", line 426, in __init__
    DriverModel.__init__(self, args, backend)
  File "/opt/schrodinger2021-1/internal/bin/drivermodel.py", line 118, in __init__
    self._config_cuda()
  File "/opt/schrodinger2021-1/internal/bin/drivermodel.py", line 175, in _config_cuda
    tmp_dir = fileutils.get_directory_path(fileutils.TEMP)
  File "/opt/schrodinger2021-1/internal/lib/python3.8/site-packages/schrodinger/utils/fileutils.py", line 669, in get_directory_path
    return mm.get_schrodinger_temp_dir()
**RuntimeError: could not get username from env**

你好,我试着在collab上安装一个叫做Desmond的分子动力学软件包。安装看起来不错,甚至-h标志也显示了良好的回报。但是当我尝试运行一些实际的作业时,出现了一个错误,说无法从env获取用户名。不知道发生了什么,如果你有任何想法,请帮助,非常感谢


Tags: inpygetbininitdriverlinefile
2条回答

试试这个

import getpass
getpass.getuser()

此操作将返回当前用户名

乙二醇

>>> import getpass
>>> print(getpass.getuser())
root
>>>

两个月后我才明白过来

诀窍在于,与本地计算机或HPC集群不同,云平台的方式没有定义用户环境变量,是的,它在某种程度上就像错误显示的那样简单。 就这么做:(以百度AI工作室为例)

echo “export USER=aistudio” >> ~/.bashrc
source ~/.bashrc

就是这样,然后,desmond将能够启动并运行,我相信在Google Colab上,解决方案应该非常类似。 为您的系统找到正确用户值的最佳方法是使用“printenv”并查找$HOME变量,您的用户名应作为$HOME的一部分,然后您只需复制该名称并将其提供给新的$USER变量

相关问题 更多 >