首页 > 解决方案 > 如何将具有命令行功能的 Python 包从 bash 迁移到 zsh

问题描述

我有几个安装了 pip 的软件包,它们应该/已经能够从命令行运行。例如,pipreqs我创建的本地包都已经并且应该分别从命令行运行。

但是,一旦我升级到 MacOS Catalina,终端就从 bash 更改为zsh. 现在,命令行中没有可用的 Python 命令。我相信这可能是由 引起的bash_profile,但似乎配置正确。

是否有任何必须修改的设置或bash_profile升级时添加的路径?我发现这些命令bash -login在终端的 bash 中键入和运行它们时都可以工作,但在 zsh 中却不行。

内容~/.bash_profile

export VARENV="kt2LrUtW8UVwMO3axMa8l4byPbs"
# Setting PATH for Python 3.6
# The original version is saved in .bash_profile.pysave
PATH="/Library/Frameworks/Python.framework/Versions/3.6/bin:${PATH}"
export PATH

# Setting PATH for Python 3.8
# The original version is saved in .bash_profile.pysave
PATH="/Library/Frameworks/Python.framework/Versions/3.8/bin:${PATH}"
export PATH

# Setting PATH for Python 3.8
# The original version is saved in .bash_profile.pysave
PATH="/Library/Frameworks/Python.framework/Versions/3.8/bin:${PATH}"
export PATH

# Setting PATH for Python 3.8
# The original version is saved in .bash_profile.pysave
PATH="/Library/Frameworks/Python.framework/Versions/3.8/bin:${PATH}"
export PATH


# support python packages
export PATH=$PATH:~/.local/bin

# support pipreqs
export PATH=${PATH}:/usr/local/bin/pipreqs/pipreqs.py


test -e "${HOME}/.iterm2_shell_integration.bash" && source "${HOME}/.iterm2_shell_integration.bash"




export PATH="$HOME/.cargo/bin:$PATH"

尝试运行 pipreqs(或其他命令行模块):

~ pipreqs -h
zsh: command not found: pipreqs

pipreqsPython 版本:运行时发现3.8 python3 -m pip list(因为pip list并且pip3 list仅在 Python 2 中显示)。

编辑:运行以下命令给出以下结果 echo "$PATH" | tr : '\n'

/usr/local/bin
/usr/bin
/bin
/usr/sbin
/sbin
/usr/local/go/bin
/usr/local/munki
/opt/X11/bin

尝试重新安装pipreqs

Installing collected packages: pipreqs 

WARNING: The script pipreqs is installed in '/Library/Frameworks/Python.framework/Versions/3.8/bin' which is not on PATH. Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location. 

Successfully installed pipreqs-0.4.10 –

解决方案: 的内容.zshrc.bash_profile. 您需要迁移它们以支持 Python 和库。

  1. 类型open ~/.bash_profile
  2. 类型open ~/.zshrc
  3. 将 Python 3 的 PATH 复制到.zshrc并添加以下行:export PATH=$PATH:~/.local/bin
  4. 保存文件
  5. 返回终端,然后输入source ~/.zshrc
  6. 重新启动终端,它可以工作

标签: pythonpython-3.xzsh

解决方案


zsh has its own (five) startup files. See http://zsh.sourceforge.net/Intro/intro_3.html for details.


推荐阅读