繁体   English   中英

如何在 mac 上使用 pipenv?

[英]How to use pipenv on mac?

当通过 pip( pip install pipenv )安装它时,在 zsh shell 上找不到命令pipenv

如果通过brew安装它: brew install pipenv ,然后运行pipenv shell ,得到错误

Loading .env environment variables...
Launching subshell in virtual environment...
Traceback (most recent call last):
  File "/usr/local/Cellar/pipenv/2020.11.15/libexec/bin/pipenv", line 8, in <module>
    sys.exit(cli())
  File "/usr/local/Cellar/pipenv/2020.11.15/libexec/lib/python3.9/site-packages/pipenv/vendor/click/core.py", line 829, in __call__
    return self.main(*args, **kwargs)
  File "/usr/local/Cellar/pipenv/2020.11.15/libexec/lib/python3.9/site-packages/pipenv/vendor/click/core.py", line 782, in main
    rv = self.invoke(ctx)
  File "/usr/local/Cellar/pipenv/2020.11.15/libexec/lib/python3.9/site-packages/pipenv/vendor/click/core.py", line 1259, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/usr/local/Cellar/pipenv/2020.11.15/libexec/lib/python3.9/site-packages/pipenv/vendor/click/core.py", line 1066, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/usr/local/Cellar/pipenv/2020.11.15/libexec/lib/python3.9/site-packages/pipenv/vendor/click/core.py", line 610, in invoke
    return callback(*args, **kwargs)
  File "/usr/local/Cellar/pipenv/2020.11.15/libexec/lib/python3.9/site-packages/pipenv/vendor/click/decorators.py", line 73, in new_func
    return ctx.invoke(f, obj, *args, **kwargs)
  File "/usr/local/Cellar/pipenv/2020.11.15/libexec/lib/python3.9/site-packages/pipenv/vendor/click/core.py", line 610, in invoke
    return callback(*args, **kwargs)
  File "/usr/local/Cellar/pipenv/2020.11.15/libexec/lib/python3.9/site-packages/pipenv/cli/command.py", line 429, in shell
    do_shell(
  File "/usr/local/Cellar/pipenv/2020.11.15/libexec/lib/python3.9/site-packages/pipenv/core.py", line 2387, in do_shell
    shell.fork_compat(*fork_args)
  File "/usr/local/Cellar/pipenv/2020.11.15/libexec/lib/python3.9/site-packages/pipenv/shells.py", line 106, in fork_compat
    c = pexpect.spawn(self.cmd, ["-i"], dimensions=(dims.lines, dims.columns))
  File "/usr/local/Cellar/pipenv/2020.11.15/libexec/lib/python3.9/site-packages/pipenv/vendor/pexpect/pty_spawn.py", line 205, in __init__
    self._spawn(command, args, preexec_fn, dimensions)
  File "/usr/local/Cellar/pipenv/2020.11.15/libexec/lib/python3.9/site-packages/pipenv/vendor/pexpect/pty_spawn.py", line 276, in _spawn
    raise ExceptionPexpect('The command was not found or was not ' +
pipenv.vendor.pexpect.exceptions.ExceptionPexpect: The command was not found or was not executable: /use/bin/zsh.

没有路径命名/use/bin/zsh 为什么不稳定?

shell 路径是

echo $SHELL
/bin/zsh

你问了两个问题,真的。 我将在单独的部分中回答每个问题:

如何修复该错误

Loading.env environment variables... ... The command was not found or was not executable: /use/bin/zsh.

看起来在您的.env文件中,您有PIPENV_SHELL=/use/bin/zsh 这是不正确的。 反而,

  • 它应该是
    PIPENV_SHELL=/bin/zsh
  • 或者干脆
    PIPENV_SHELL=zsh
  • 或者你可以删除它。 然后pipenv shell将自动使用与您调用它相同的 shell 。

如何在 macOS 上正确安装pipenv

在 macOS 上安装pipenv的正确方法很复杂,但这是在升级 Python 时避免遇到麻烦的唯一方法:

  1. 撤消到目前为止所做的事情:
     % pip uninstall pipenv % brew uninstall pipenv
  2. 将以下内容添加到您的.zshrc文件中:
     eval "$( brew shellenv )" # Set your preferred Python version. export PYENV_VERSION=3.10.5 export PIPX_BIN_DIR=~/.local/bin export PYENV_ROOT=~/.pyenv # -U eliminates duplicates. export -U PATH path path=( $PIPX_BIN_DIR $PYENV_ROOT/{bin,shims} $path )
  3. 在命令行上执行以下操作:
     % exec zsh # Restart zsh % brew install pyenv % pyenv install $PYENV_VERSION # Install your preferred Python % pyenv global $PYENV_VERSION # Make it your default Python % pip install -U pip # Update pip % pip install -U --user pipx # Install pipx into ~/.local/bin % pipx install pipenv # pipx is like brew but for Python executables
  4. 将以下内容添加到您的.zshrc文件中:
     eval "$( pyenv init - )" eval "$( pip completion --zsh )" eval "$( register-python-argcomplete pipx )" eval "$( pipenv --completion )"
  5. 再次运行exec zsh (或打开一个新的终端选项卡)以使上述生效。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM