python os.environ 不生效_python – os.environ没有显示一些变量

在Centos 6上,环境变量TNT_SERVER_URL通过profile.d设置,但在Python中使用os.environ.get()无法获取。错误提示NameError。尝试使用ctypes库的getenv方法同样失败。其他环境变量可以正常读取。解决方案是检查引号的使用和确保变量已导出。
摘要由CSDN通过智能技术生成

我有一个环境变量,我使用profile.d设置(在Centos 6上),如下所示:

[bankap@tnt-integration-test ~]$cat /etc/profile.d/tnt.sh

TNT_SERVER_URL=http://tnt-integration-test:8000/

当我登录时,我看到变量:

[bankap@tnt-integration-test ~]$echo $TNT_SERVER_URL

http://tnt-integration-test:8000/

但是当我使用Python访问该东西时,环境变量不会显示出来!

[bankap@tnt-integration-test ~]$python -c 'import os;os.environ.get("TNT_SERVER_URL")'

Traceback (most recent call last):

File "", line 1, in

NameError: name 'TNT_SERVER_URL' is not defined

我甚至尝试使用ctypes库,结果相同:

>>> os.getenv('TNT_SERVER_URL')

>>> from ctypes import CDLL, c_char_p

>>> getenv = CDLL('libc.so.6').getenv

>>> getenv('TNT_SERVER_URL')

0

>>>

但其他变量恰好通过……

<
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在给定的代码中,os.environ['CUDA_VISIBLE_DEVICES'] = '1'设置的CUDA可见设备无效的原因是在torch引入之前进行的设定。根据代码结构,startup.py文件中的os.environ['CUDA_VISIBLE_DEVICES'] = '1'应该放在从tools.train中导入main函数之前。这样,当main函数被调用时,CUDA可见设备就已经正确设置了。因此,你需要将os.environ['CUDA_VISIBLE_DEVICES'] = '1'放在from tools.train import main之前。这样,os.environ['CUDA_VISIBLE_DEVICES']的设置就会在main函数被调用时生效。 示例代码可以是这样的: ```python import os os.environ['CUDA_VISIBLE_DEVICES'] = '1' from tools.train import main def startup(gpu=0, config1='xxx', config2='xxx'): args = parse_args(config1, config2) main(args) if __name__ == "__main__": startup(gpu=1) ``` 这样,os.environ['CUDA_VISIBLE_DEVICES'] = '1'就会在main函数执行时生效了。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [os.environ[‘CUDA_VISIBLE_DEVICES‘]无效的解决方法](https://blog.csdn.net/asd123pwj/article/details/126442265)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"] - *3* [python os.environ 读取和设置环境变量](https://blog.csdn.net/weixin_39650994/article/details/110971897)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值