Python <;pip3包>;命令在zsh上找不到,但在bash上找到

Python <;pip3包>;命令在zsh上找不到,但在bash上找到,python,django,bash,pip,zsh,Python,Django,Bash,Pip,Zsh,我使用pip3安装django在我的Ubuntu 16.04上安装了django。但当我键入django admin并按enter键时,我发现命令未找到。我甚至使用以下方法验证: import django print(django.get_version()) 我使用zshell而不是bash。起初我认为这是一个django问题。因此,我安装了另一个pip3软件包virtualenv。然后我在终端上键入了virtualenv,并点击回车键,相同的输出:未找到命令 然后我确信这是一个外壳问题。

我使用
pip3安装django
在我的Ubuntu 16.04上安装了django。但当我键入
django admin
并按enter键时,我发现
命令未找到
。我甚至使用以下方法验证:

import django
print(django.get_version())
我使用zshell而不是bash。起初我认为这是一个django问题。因此,我安装了另一个pip3软件包
virtualenv
。然后我在终端上键入了
virtualenv
,并点击回车键,相同的输出:
未找到命令

然后我确信这是一个外壳问题。因此,我将shell改回bash,并找到了
django admin
virtualenv
命令


如何让zsh发现pip3包?

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

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

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