windows - 为什么我的 Anaconda 提示修饰符显示完整的环境路径?

标签 windows anaconda environment

我修改了我的 anaconda 环境目录。安装在备用目录中的任何环境都会在提示修饰符中显示其完整路径。我只期待环境的名称。为什么显示完整路径?这仅仅是美学上的还是其他方面会受到影响?

通常在使用 anaconda 提示符和命令创建环境时:

>conda create -n my_env

我使用以下方式激活环境:

conda 激活 my_env

并且提示从 (base) 变为:

(my_env)>

我希望在同一台机器上的用户之间共享环境。正在关注https://conda.io/projects/conda/en/latest/user-guide/configuration/use-condarc.html#specify-env-directories我在基本的 conda 安装路径中添加了一个 .condarc 文件,其中包含:

# 环境目录: - C:\Users\Public\CondaEnvs

当我激活这个环境时,以同样的方式创建一个新环境,我现在看到:

(C:\Users\Public\CondaEnvs\my_shared_env)

当环境处于事件状态时,环境变量 CONDA_PROMPT_MODIFIER 也已设置为 (C:\Users\Public\CondaEnvs\my_shared_env)。

conda config --show 的当前输出是:

add_anaconda_token: True
add_pip_as_python_dependency: True
aggressive_update_packages:
  - ca-certificates
  - certifi
  - openssl
allow_conda_downgrades: False
allow_cycles: True
allow_non_channel_urls: False
allow_softlinks: False
always_copy: False
always_softlink: False
always_yes: None
anaconda_upload: None
auto_activate_base: True
auto_update_conda: True
bld_path: 
changeps1: True
channel_alias: https://conda.anaconda.org
channel_priority: flexible
channels:
  - defaults
client_ssl_cert: None
client_ssl_cert_key: None
clobber: False
conda_build: {}
create_default_packages: []
croot: C:\Users\ClibbonA\conda-bld
custom_channels:
  pkgs/main: https://repo.anaconda.com
  pkgs/free: https://repo.anaconda.com
  pkgs/r: https://repo.anaconda.com
  pkgs/msys2: https://repo.anaconda.com
  pkgs/pro: https://repo.anaconda.com
custom_multichannels:
  defaults: 
    - https://repo.anaconda.com/pkgs/main
    - https://repo.anaconda.com/pkgs/free
    - https://repo.anaconda.com/pkgs/r
    - https://repo.anaconda.com/pkgs/msys2
  local: 
debug: False
default_channels:
  - https://repo.anaconda.com/pkgs/main
  - https://repo.anaconda.com/pkgs/free
  - https://repo.anaconda.com/pkgs/r
  - https://repo.anaconda.com/pkgs/msys2
default_python: 3.7
deps_modifier: not_set
dev: False
disallowed_packages: []
download_only: False
dry_run: False
enable_private_envs: False
env_prompt: ({default_env}) 
envs_dirs:
  - C:\Users\Public\CondaEnvs
  - C:\Users\ClibbonA\.conda\envs
  - C:\ProgramData\Anaconda3\envs
  - C:\Users\ClibbonA\AppData\Local\conda\conda\envs
error_upload_url: https://conda.io/conda-post/unexpected-error
extra_safety_checks: False
force: False
force_32bit: False
force_reinstall: False
force_remove: False
ignore_pinned: False
json: False
local_repodata_ttl: 1
migrated_channel_aliases: []
migrated_custom_channels: {}
non_admin_enabled: True
notify_outdated_conda: True
offline: False
override_channels_enabled: True
path_conflict: clobber
pinned_packages: []
pip_interop_enabled: False
pkgs_dirs:
  - C:\ProgramData\Anaconda3\pkgs
  - C:\Users\ClibbonA\.conda\pkgs
  - C:\Users\ClibbonA\AppData\Local\conda\conda\pkgs
proxy_servers: {}
prune: False
quiet: False
remote_connect_timeout_secs: 9.15
remote_max_retries: 3
remote_read_timeout_secs: 60.0
report_errors: None
rollback_enabled: True
root_prefix: C:\ProgramData\Anaconda3
safety_checks: warn
sat_solver: pycosat
shortcuts: True
show_channel_urls: None
solver_ignore_timestamps: False
ssl_verify: True
subdir: win-64
subdirs:
  - win-64
  - noarch
target_prefix_override: 
track_features: []
update_modifier: update_specs
use_index_cache: False
use_local: False
verbosity: 0
whitelist_channels: []

最佳答案

根据 the conda documentation , 你需要使用命令 conda config --set env_prompt "({name}) " (在 Windows 上使用双引号)。按照这些说明,我发现当我停用环境时,前置字符串不会读取 (base) ,但是 (Anaconda3) .这与人们报告的内容有点不一致,但也许是 Windows 的问题。就像双引号 :p

Elsewhere on Stackoverflow有人仔细研究了整个事情并展示了一些可以避免这个问题的命令,尽管继续输入它们并不是很方便。根据该线程中的答案,我拼凑了以下对我有用的解决方案:

  • 假设您创建了一个名为 myenv 的虚拟环境.放置一个.condarc文件在其目录中(即 <current directory>\myenv\.condarc )。文件内容应该是env_prompt: "({default_env}) " (加上与您的项目相关的其他条目)。
  • 如果您还没有通用 .condarc文件,使用命令创建一个 conda config --set env_prompt "({name}) "如果您愿意,可以在右括号后添加一个空格。如果这样的文件已经存在,它应该包含行 env_prompt: "({name}) " .

现在启动您的 conda 控制台。环境提示最初显示 (Anaconda3) ,但是一旦您激活和停用虚拟环境,一切都会按照预期的方式显示。命令conda env list myenv 时始终在正确环境旁边显示星号已激活。

关于windows - 为什么我的 Anaconda 提示修饰符显示完整的环境路径?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56441567/

相关文章:

windows - cpp_redis::subscriber -> connect 导致异常:connect() 失败

windows - 创建新文件后在资源管理器中的 IShellView::SelectItem

python-3.x - 从 .tar.gz 将模块安装到 Anaconda

git - 提交后使用 git hook

c# - 如何在另一个应用程序之上绘制图形/文本

java - 检测哪个监视器显示窗口

python - anaconda安装keras时报错./p KERAS_BACKEND= 0<temp.txt

python - 软件包安装在 anaconda\lib\site-packages 中并在 spy 程序中找到,但不在 jupyter 笔记本中

go - 从环境中获取变量?

java - 如何使用java模拟云环境