我希望通过在我将执行某些模拟代码的任何目录中运行脚本来编写一个python脚本来创建一些适当的环境变量,并且我已经读过我不能写一个脚本来使这些env变量持续存在mac os终端.所以有两件事:
这是真的?
和
这似乎是一件有用的事情; 一般来说为什么不可能?
如何从Python脚本持久修改Windows环境变量?(这是setup.py脚本)
我正在寻找一个标准功能或模块用于此目的.我已经熟悉了注册表的方式,但是对此也有任何意见.
继我之前的问题之后,是否有可能制作一个持久更改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环境变量.
似乎与文档相反,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环境变量?
如何永久添加系统环境变量"PATH"的路径?
我想只添加路径,如果它尚不存在.
另外,我想删除包含文件夹名称的所有路径,例如\myprogram是否:
C:\path\to\myprogram\dist; 要么 D:\another\path\to\myprogram\dist;
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 ×6
windows ×4
command-line ×2
batch-file ×1
gitlab ×1
gitlab-ci ×1
persistence ×1
registry ×1
scripting ×1
shell ×1