python - 如何将具有命令行功能的 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
pipreqs
Python 版本:运行时发现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 和库。
- 类型
open ~/.bash_profile
- 类型
open ~/.zshrc
- 将 Python 3 的 PATH 复制到
.zshrc
并添加以下行:export PATH=$PATH:~/.local/bin
- 保存文件
- 返回终端,然后输入
source ~/.zshrc
- 重新启动终端,它可以工作
解决方案
zsh
has its own (five) startup files.
See http://zsh.sourceforge.net/Intro/intro_3.html for details.
推荐阅读
- google-cloud-platform - 是否可以将所有 GA 数据导入大查询
- r - 如何在矩阵中插入“n”列
- javascript - 如何将音频从浏览器流式传输到服务器?
- php - 使用比较 2 个表来加工大多数 Suitabale 名称
- mongodb - 为什么在 MongoDB Compass 中每次刷新时索引使用量都会增加(增加 2)
- sql - 过去 N 周的 SQL 销售额总和,包括销售额为 0 的一周
- angular - 如何以角度控制浏览器后退按钮
- php - PHP Curl 在 200 毫秒后停止读取
- c++ - 为每个项目创建具有不同构造函数参数的项目数组/向量
- activemq-artemis - 查看 JBoss EAP 中嵌入的 ActiveMQ Artemis 的日志和队列深度