如何在Mac OS Catalina的zsh shell上永久设置用户路径

10

如何永久设置用户PATH以便能够从Mac Catalina上的zsh shell访问Pipenv?

我第一次安装Pipenv。 安装成功后,我无法从zsh shell访问它。 但是,当我运行以下代码时(在其他地方找到),情况有所改善:

PYTHON_BIN_PATH="$(python3 -m site --user-base)/bin"
PATH="$PATH:$PYTHON_BIN_PATH"

我能够在终端中运行Pipenv,但仅限于该实例。因为当我关闭并重新打开终端时,除非我再次运行代码,否则它不会再次起作用。

User@User-- ~ % pipenv

错误

zsh: command not found: pipenv

只需运行 brew install pipenv 即可。 - pissall
请参阅 man zsh 中的“STARTUP/SHUTDOWN FILES”部分,了解 zsh 在启动时查看的文件概述。该过程比bash工作方式更为广泛且略有不同。 - chepner
4个回答

18

使用 bash,您将会在 .bash_profile 中添加 PATH="$PATH:$(python3 -m site --user-base)/bin",以便每个 bash 会话都能正确地设置 PATH 目录。

zsh 中,您需要将该行添加到 .zprofile 中。


非常感谢。我一直在寻找一种方法来避免全局安装pipenv,因为这是“从pip网站进行实用安装”的建议:https://pipenv.readthedocs.io/en/latest/install/#installing-pipenv,而这个解决方案完美地解决了我的问题。 - tundebosoro

8
cd && touch .zprofile && open .zprofile

该命令将创建并打开一个.zprofile文件,您在该文件中保存的每个路径将永久地在终端中可用。

例如,Android SDK 路径:

export PATH=$PATH:$ANDROID_HOME/emulator
export PATH=$PATH:$ANDROID_HOME/tools
export PATH=$PATH:$ANDROID_HOME/tools/bin
export PATH=$PATH:$ANDROID_HOME/platform-tools

对于早于macOS Catalina版本的macOS,请使用.bash_profile代替.zprofile

3

在macOS Catalina ver: 10.15.3中,我修改了~/.zshrc文件,并且对于默认终端(zsh)起作用。

我创建了~/.bash_profile文件,但是没有任何改变。


2
如果您使用的是Homebrew,则另一个选项是这样安装pipenv: brew install pipenv 这将全局安装它。由于pipenv可以通过pyenv管理不同的Python版本,因此最好像这样设置它,而不是仅针对特定Python版本使用pip来安装它。

这也可以运行,只是我不想全局安装它。我想进行用户安装,以避免破坏任何系统范围的软件包,因为我是编程新手。最终通过在zsh上使用.zprofile添加了PATH。 - tundebosoro

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接