【问题标题】:<pip3 package> command not found on zsh but found on bash<pip3 package> 命令在 zsh 上找不到,但在 bash 上找到
【发布时间】:2018-09-03 12:33:13
【问题描述】:

我使用pip3 install django 在我的 Ubuntu 16.04 上安装了 django。但是当我输入django-admin 并回车时,我得到command not found。我什至使用以下方法进行了验证:

import django
print(django.get_version())

我使用 zshell 而不是 bash。起初我认为这是一个 django 问题。所以我安装了另一个 pip3 包virtualenv。然后我在终端上输入virtualenv 并回车,同样的输出:command not found

然后我确定这是一个 shell 问题。所以我把我的 shell 改回 bash 并且找到了 django-adminvirtuaenv 命令。

如何让 zsh 发现 pip3 包?

【问题讨论】:

  • 假设您还没有使用 python 中内置的 venv 功能,很可能在您的 .bashrc 或其他特定于 bash 的文件中设置了您需要从 zsh 执行的相关环境变量- 特定配置文件(或由两个 shell 共享的配置文件)。
  • @Eisenheim 你能在两个shell中都做echo $PATH并粘贴结果吗?您粘贴的两个文件似乎都不包含任何相关内容。
  • 也可以粘贴~/.zprofile~/.bash_profile~/.profile
  • 这是一些要粘贴的配置文件。作为一个临时解决方案,我直接将$HOME/.local/bin 添加到我的$PATH 中,因为那是django-admin 所在的位置(如which django-admin 所示)。

标签: python django bash pip zsh


【解决方案1】:

正如您所提到的,您的 Python 包可执行文件安装到 ~/.local/bin。如果您在bash 中检查$PATH,您会发现它包含该路径。在默认的 Ubuntu 16.04 安装中,这是在 ~/.profile 中完成的。但是,zsh 不执行此文件,因此其$PATH 中可能没有~/.local/bin。您找到的解决方案是添加它:这可以通过修改您的.zshrc 自动完成,例如

export PATH=$HOME/.local/bin:$PATH

【讨论】:

  • 这就是我所做的,带着怀疑和犹豫 -_- 但现在我确定没有做错任何事。
猜你喜欢
  • 2021-12-17
  • 2020-02-29
  • 1970-01-01
  • 2019-12-16
  • 1970-01-01
  • 2013-08-28
  • 2020-02-06
  • 2022-08-17
  • 2018-06-09
相关资源
最近更新 更多