【问题标题】:Is it possible to change python virtualenv name, shown in prompt?是否可以更改 python virtualenv 名称,在提示中显示?
【发布时间】:2020-01-13 10:18:18
【问题描述】:

在 virtualenv 激活时,是否有任何方法可以更改名称,在提示中显示?

username@host:~$ python3 -m venv venv
username@host:~$ source venv/bin/activate
(venv) username@host:~$

但我需要将其显示为:

username@host:~$ python3 -m venv venv
username@host:~$ source venv/bin/activate
(some_arbitrary_name) username@host:~$

更新: 感谢您的回答。提示名称创建后无法更改,但是有一种方法可以在提示中显示文件夹名称以外的任意名称:

username@host:~$ python3 -m venv .venv --prompt some_arbitrary_name
username@host:~$ source venv/bin/activate
(some_arbitrary_name) username@host:~$

【问题讨论】:

  • 更改 venv 的名称 :)
  • @AlekseyP:我鼓励您发布您的python3 -m venv .venv --prompt some_arbitrary_name 解决方案作为实际答案。现有的答案(截至我写这篇文章的时候)都没有提到它,而且这个网站上的一些读者一旦相信这个问题与他们试图解决的问题相同,就会直接跳到看答案做,因此可能会错过您的更新。 (此外,如果您关心这一点,您将能够在网站上获得更多声誉。)我很高兴地保证对您提交的任何与您的更新文本非常相似的答案进行投票。
  • @lindes --prompt 选项效果很好,谢谢!
  • @alekseyp 关于您的观点“提示名称在创建后无法更改”,我在pyvenv.cfg 文件中看到了prompt 选项,您可以尝试更改它。

标签: python virtualenv rename prompt


【解决方案1】:

venv 名称与您创建它的文件夹相同。 用你喜欢的名字做一个venv

$ python -m venv some_arbitrary_name
$ . ./some_arbitrary_name/bin/activate
(some_arbitrary_name)$ 

【讨论】:

  • 通常,这不是最理想的,原因有很多(主要是面向约定,但仍然......例如 .gitignore 文件,运行激活的别名等) - 所以有另一种选择:venv--prompt 选项,例如:python3 -m venv --prompt some_arbitrary_name .env -- 将创建 ./.env. ./.env/bin/activate 将给出与您相同的提示。
【解决方案2】:

提示是在bin/activate脚本中修改的,所以只需更改添加(venv)的那一行。它看起来像这样:

if [ -z "${VIRTUAL_ENV_DISABLE_PROMPT:-}" ] ; then
    _OLD_VIRTUAL_PS1="${PS1:-}"
    PS1="(venv) ${PS1:-}"
    export PS1
fi

只需将 (venv) 更改为您选择的名称即可。

【讨论】:

    【解决方案3】:

    虽然这是不可能的,但我想不出您可能希望显示与虚拟环境名称不同的名称。如果您想重命名您的虚拟环境,您可以这样做。
    默认情况下 virtualenv 不支持环境的重命名。删除 virtualenv 目录并创建一个具有正确名称的新目录会更安全。你可以这样做:

    Activate your virtualenv: source vnev/bin/activate
    Create a requirements.txt of currently installed packages: pip freeze > requirements.txt
    Delete the misspelled virtualenv: rm -r vnev/
    Create a new virtualenv with correct name: virtualenv venv
    Activate new virtualenv: source venv/bin/activate
    Install packages from requirements.txt: pip install -r requirements.txt
    

    【讨论】:

      猜你喜欢
      • 2018-10-12
      • 1970-01-01
      • 2016-12-20
      • 2011-05-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多