Linux服务器读写python环境变量

news2024/12/23 12:05:34

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

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

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

示例代码:

import os

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

print(env_name)
print(env_age)

运行结果:

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

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

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

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

写法如下:

export name=dgw

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

 验证环境变量是否生效:

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

(1)vim  /etc/profile

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

(3):wq!保存退出

(4)source /etc/profile

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

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

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

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

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

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

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/78384.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

[附源码]计算机毕业设计计算机相关专业考研资料管理系统Springboot程序

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

【Keras+计算机视觉+Tensorflow】实现基于YOLO和Deep Sort的目标检测与跟踪实战(附源码和数据集)

需要源码和数据集请点赞关注收藏后评论区留言私信~~~ 一、YOLO目标检测算法 YOLO是端到端的物体检测深度卷积神经网络,YOLO可以一次性预测多个候选框,并直接在输出层回归物体位置区域和区域内物体所属类别,而Faster R-CNN仍然是采用R-CNN那种…

Windows 下Zookeeper 配置参数解读 和查看注册了哪些服务

zookeeper 配置文件解读 本地配置文件奉上: # The number of milliseconds of each tick tickTime2000 # The number of ticks that the initial # synchronization phase can take initLimit10 # The number of ticks that can pass between # sending a request and gett…

图像处理学习笔记-10-图像分割与边缘检测

图像分割的三大类方法:根据区域间灰度不连续搜寻区域之间的边界,在奇异性检测、边缘连接和边界检测介绍;以像素性质的分布进行阈值处理,在阈值处理介绍;直接搜寻区域进行分割,在基于区域的分割中介绍 奇异…

数据库、计算机网络,操作系统刷题笔记8

数据库、计算机网络,操作系统刷题笔记8 2022找工作是学历、能力和运气的超强结合体,遇到寒冬,大厂不招人,可能很多算法学生都得去找开发,测开 测开的话,你就得学数据库,sql,oracle&…

网站各个功能基本实现

1.前面已经介绍前后端的交互 2.今天实现网站功能的基本实现 也就是查询数据库。 网站类型为展示型网站。 页面如下: 点击政府公告显示: 点击机构设置显示: 后面不一一展示,主要实现六大功能的展示功能。 后续就实现管理员维…

PostgREST的安装部署(Windows和Linux环境)

下载地址:https://github.com/PostgREST/postgrest/releases 官方文档地址:Overview of Role System — PostgREST 9.0.0 documentation Windows 先下载对应系统的安装包: 下载之后解压会得到一个postgrest.exe可执行文件 创建配置文件&a…

解决 Android 开发过程中 出现 Duplicate class(包冲突)

1、现在大部分的项目都是支持 Androidx 的,所以出现 Duplicate 的时候 先把 gradle.properties 文件中添加参数,支持使用AndroidX android.useAndroidXtrue android.enableJetifiertrue 2、有些 *.jar/*.aar 不支持 AndroidX 的时候,将上面…

抽取_内插_半带滤波器_多相滤波器

文章目录半带滤波器多相抽取滤波器多相内插滤波器半带抽取器和半带内插器参考资料:Xilinx FIR Compiler v7.2 LogiCORE IP Product Guide PG149半带滤波器 半带滤波器的阶数为偶数,系数长度为奇数,且除了中间系数为0.5外,其余偶数…

mybatisplus 使用mybatis中的配置、mapper配置文件

1、在application.properties中配置mybatis的配置文件路径,例如: #指定mybatis-config.xml的位置 mybatis-plus.config-location classpath:mybatis/mybatis-config.xml 即在和application.properties同级目录下的mybatis目录中创建mybatis的配置文件m…

数制编码详解:二进制八进制十六进制的转换,原码、补码、反码、移码的定义

参考资料:《深入理解计算机网络(王达)》 文章目录一,数制1.1 基本数制1.2 不同数制之间的相互转换二,编码一,数制 1.1 基本数制 “数制”是“数据进制”的简称,也就是表示数据逢几进位的意思&a…

chatGPT的体验,是不是真智能?

目录 🏆一、前言 🏆二、安装 🏆三、普通对话 🚩1、chatGPT的ikun性 🚩2、chatGPT的日常对话 🏆四、实用能力 🏆五、代码改正 🏆六、写代码 🏆七、讲解代码 🏆…

ESXI精简thin磁盘迁移存储位置保留磁盘类型不变-无vc方式

运行2年了ESXI的SSD存储上很多VM并带多层快照,最近磁盘速度异常,迁移到新存储,都是thin磁盘;如有vCenter条件,采用“迁移”即可完美解决,既使磁盘类型thin不变又保留快照结构。如无vCenter条件的操作方式细…

Unity-iOS工程导出Xcode自动构建方法

Unity-iOS发布基本流程首先在Unity中导出Xcode工程,然后在Xcode工程中设置IOS打包的一些流程,诸如引入lib、framework或其他资源、设置签名及其他编译设置、加入编译脚本等等操作。 这些操作如果每次都是在导出Xcode后手动操作,一来浪费时间…

【C++ STL】-- 红黑树的插入实现

目录 红黑树的概念 二叉树搜索树的应用 红黑树节点的定义 红黑树结构 insert 需调整的多情况的核心思维: 需调整的多情况分类讲解: 情况一: 情况二: 情况三: 总结: 代码实现: 对于红黑树是否建立成功的检查 升序打印…

C++--类型转换--1128

1.C语言中的类型转换 分为隐式类型转化、显示强制类型转化。 隐式类型转化用于意义相近的类型,比如int,double,short都是表示数值的类型 int i1; double di; //编译、结果无问题 这里是隐式类型转换。 显示强制类型转换 显示强制类型用于意义不相近的类型&…

Redis Sentinel

高可用架构-Redis Sentinel Replication 缺点 接着之前的Redis Replication 主从复制架构,看似解决了主节点并发过大时,master节点处理繁忙的问题。将一部分读数据的请求交给从节点处理,从而将请求进行分散处理。但是该架构却存在很明显的缺…

基于LEACH的随机网络生成无线传感器网络路由协议的仿真比较(Matlab代码实现)

👨‍🎓个人主页:研学社的博客 💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜…

【深度学习】超详细的 PyTorch 学习笔记(上)

文章目录一、PyTorch环境检查二、查看张量类型三、查看张量尺寸和所占内存大小四、创建张量4.1 创建值全为1的张量4.2 创建值全为0的张量4.3 创建值全为指定值的张量4.4 通过 list 创建张量4.5 通过 ndarray 创建张量4.6 创建指定范围和间距的有序张量4.7 创建单位矩阵&#xf…

【力扣算法简单五十题】23.环形链表

给你一个链表的头节点 head ,判断链表中是否有环。 如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。 为了表示给定链表中的环,评测系统内部使用整数 pos 来表示链表尾连接到链表中的位置(索…