Linux服务器读写python环境变量
  TEZNKK3IfmPf 2023年11月14日 20 0

        在公司项目开发过程中,代码都是放在服务器中进行运行的,使用本地的idea工具连接到服务器。

        如python开发中,将使用pycharm工具连接服务器,如下图所示:

Linux服务器读写python环境变量

Linux服务器读写python环境变量

        在项目中有线上正式环境、测试环境等,都是用不同环境变量的,因此这些不同的变量需要写到环境变量中,容易项目不同的环境切换,如下示例代码中,环境变量如图所示,

Linux服务器读写python环境变量

示例代码:

import os

env_name = os.getenv('name')
env_age = os.getenv('age')

print(env_name)
print(env_age)

运行结果:

Linux服务器读写python环境变量

        在本地的电脑中连接远程服务器是直接可以运行上述代码的,但是直接到服务器中直接运行上述代码效果如下一些图所示:

Linux服务器读写python环境变量

Linux服务器读写python环境变量

接下来将操作如何在服务器中进行读取python环境变量:

1. 在Linux服务器上设置临时环境变量

        这种写法只在当前终端或者命令行生效,一旦退出终端或命令行就会失效。

写法如下:

export name=dgw

Linux服务器读写python环境变量

当多个环境变量同时写时: 

Linux服务器读写python环境变量

 验证环境变量是否生效:

Linux服务器读写python环境变量

2. Linux系统中设置永久环境变量

(1)vim  /etc/profile

(2)在文件底行写入:export age=26

(3):wq!保存退出

(4)source /etc/profile

Linux服务器读写python环境变量

Linux服务器读写python环境变量

注意:上述更改后,全局都是生效的。此时对已经打开的会话窗口不生效,需要重新打开新的会话窗口。

验证环境变量是否永久生效:

Linux服务器读写python环境变量

建议新建一个专门存放环境变量的文件,不要直接在/etc/profile中进行添加。/etc/profile需要在root用户下进行添加,对所有用户都生效的。如下所示文件中,此时仅对该会话窗口起作用,同一用户的其他窗口也是不起作用的。

Linux服务器读写python环境变量

Linux服务器读写python环境变量

程序启动时需要后台启动的,借助nohup命令来后台启动程序,这时更改python代码,来验证关闭窗口后,在其它窗口或用户下查看日志时环境变量是否还存在:

Linux服务器读写python环境变量

Linux服务器读写python环境变量

此时关闭该会话窗口,程序也是可以正常执行,环境变量也是正常的。

Linux服务器读写python环境变量

提高环境变量参数的复杂度:

Linux服务器读写python环境变量

Linux服务器读写python环境变量

Linux服务器读写python环境变量

注意:如果使用nohup时不能打印print日志的话,可以添加一个-u参数:

nohup python3 -u python_test.py > logs.log 2>&1 &

注意:实际开发过程中不会直接在linux的/etc/profile里直接写环境变量,可以自定义一个文件,写入环境变量,方式和在/etc/profie里一致,source一下就会永久生效,然后以 ‘.’ 开头给文件命名把文件隐藏,这样更加安全。

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月14日 0

暂无评论

推荐阅读
TEZNKK3IfmPf