相关疑难解决方法(0)

为什么python中设置的环境变量不能持久存在?

我希望通过在我将执行某些模拟代码的任何目录中运行脚本来编写一个python脚本来创建一些适当的环境变量,并且我已经读过我不能写一个脚本来使这些env变量持续存在mac os终端.所以有两件事:

这是真的?

这似乎是一件有用的事情; 一般来说为什么不可能?

python persistence environment-variables

40
推荐指数
3
解决办法
5万
查看次数

用于从Python修改Windows环境变量的接口

如何从Python脚本持久修改Windows环境变量?(这是setup.py脚本)

我正在寻找一个标准功能或模块用于此目的.我已经熟悉了注册表的方式,但是对此也有任何意见.

python windows environment-variables

17
推荐指数
2
解决办法
1万
查看次数

python脚本可以持久地更改Windows环境变量吗?(典雅)

继我之前的问题之后,是否有可能制作一个持久更改Windows环境变量的Python脚本?

一旦python解释器终止,对os.environ的更改不会保留.如果我在UNIX上编写脚本,我可能会这样做:

set foo=`myscript.py`
Run Code Online (Sandbox Code Playgroud)

但是,唉,cmd.exe没有任何像sh的后退行为一样的东西.我已经看到了一个非常冗长的解决方案......它确实非常可靠,我们可以改进这个:

for /f "tokens=1* delims=" %%a in ('python  ..\myscript.py') do set path=%path%;%%a
Run Code Online (Sandbox Code Playgroud)

当然,微软的头脑有一个比这更好的解决方案!

注意:这个问题的完全重复.

python windows scripting batch-file

9
推荐指数
2
解决办法
6879
查看次数

os.environ没有设置环境变量

我正在尝试使用Python设置Windows环境变量.

似乎与文档相反,os.environ可以获取环境变量但不能设置它们.尝试在Windows命令提示符下运行它们:

这有效:

python -c "import os; print(os.environ['PATH'])"
Run Code Online (Sandbox Code Playgroud)

这不是:

python -c "import os; os.environ['FOO'] = 'BAR'"
Run Code Online (Sandbox Code Playgroud)

尝试输入set命令提示符.环境变量FOO不存在.

如何从Python设置永久Windows环境变量?

python windows shell command-line environment-variables

7
推荐指数
1
解决办法
3万
查看次数

如何添加和删除系统的环境变量"PATH"?

如何永久添加系统环境变量"PATH"的路径?

我想只添加路径,如果它尚不存在.

另外,我想删除包含文件夹名称的所有路径,例如\myprogram是否:

C:\path\to\myprogram\dist; 要么 D:\another\path\to\myprogram\dist;

python windows registry command-line environment-variables

6
推荐指数
2
解决办法
4150
查看次数

从Python脚本到管道的Gitlab-CI环境变量

VERSION如何从 python 脚本中获取 gitlab-ci 环境变量值 -get_version.py对于可在 Windows 和 Linux 操作系统上运行的 gitlab-runners?我需要一些通用的解决方案,以便它可以在两种操作系统上运行。

这是我的.gitlab-ci.yml

stages:
  - versioning

variables:
  VERSION: ""

versioning:
  stage: versioning
  script:
  - echo "[versioning] ..."
  - python ./ci-cd_scripts/get_version.py
  - echo $VERSION
Run Code Online (Sandbox Code Playgroud)

这是我的./ci-cd_scripts/get_version.py

import os

refName = os.environ.get("CI_COMMIT_REF_NAME")
piplineID = os.environ.get("CI_PIPELINE_ID")
relVersion = refName + ".0." + piplineID

version = relVersion.replace("rel.", "")
print("current version is", version)
Run Code Online (Sandbox Code Playgroud)

管道日志中的python输出

python environment-variables gitlab gitlab-ci

5
推荐指数
2
解决办法
2万
查看次数