linux python环境变量_Linux上Python中的环境变量

Python对环境变量的访问不能准确地反映操作系统对进程环境的看法。

os.getenv和os.environ在特定情况下不能按预期工作。

是否有方法正确获取正在运行的进程的环境?

要演示我的意思,请使用两个大致相等的程序(第一个在C中,另一个在python中):#include

#include

#include

int main(int argc, char *argv[]){

char *env;

for(;;){

env = getenv("SOME_VARIABLE");

if(env)

puts(env);

sleep(5);

}

}import os

import time

while True:

env = os.getenv("SOME_VARIABLE")

if env is not None:

print env

time.sleep(5)

现在,如果我们运行C程序并附加到gdb正在运行的进程,并通过执行以下操作强制更改引擎罩下的环境:(gdb) print setenv("SOME_VARIABLE", "my value", 1)

[Switching to Thread -1208600896 (LWP 16163)]

$1 = 0

(gdb) print (char *)getenv("SOME_VARIABLE")

$2 = 0x8293126 "my value"

然后,前面提到的C程序将开始每5秒喷出一次“我的值”。但是,前面提到的python程序不会。

在这种情况下,有没有办法让python程序像C程序一样工作?

(是的,我意识到这是一个在运行的进程上执行的非常模糊和潜在的破坏性操作)

另外,我目前正在使用Python2.4,这可能已经在python的更高版本中得到了修复。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Linux配置Python环境变量主要包括两个步骤。首先,你需要找到Python的安装路径。其次,你需要编辑环境变量文件。具体的操作步骤如下: 1. 找到Python的安装路径。你可以通过使用命令`which python`或`which python3`来查找Python的安装路径。这将显示Python的可执行文件的路径。 2. 编辑环境变量文件。可以使用任何文本编辑器打开`~/.bashrc`文件(如果使用的是Bash作为默认的shell)或`~/.zshrc`文件(如果使用的是Zsh作为默认的shell)。 3. 在文件末尾添加以下行,将实际的Python安装路径替换为`/usr/bin/python3`(或其他你找到的Python安装路径): ``` export PATH="/usr/bin/python3:$PATH" ``` 4. 保存并关闭文件。 现在,你已经成功地在Linux配置了Python环境变量。你可以通过输入`python`或`python3`来启动Python解释器。如果你想要使用特定版本的Python,可以使用类似`python3.8`的命令来启动对应版本的解释器。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [在Linux配置python环境变量](https://blog.csdn.net/m0_61160985/article/details/130065628)[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^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值