Pipenv:找不到命令

lga*_*nts 76 python pip python-3.x pipenv

我是Python开发新手并试图使用pipenv.我运行了pip install pipenv成功运行的命令:

...
Successfully built pipenv pathlib shutilwhich pythonz-bd virtualenv-clone
Installing collected packages: virtualenv, pathlib, shutilwhich, backports.shutil-get-terminal-size, pythonz-bd, virtualenv-clone, pew, first, six, click, pip-tools, certifi, chardet, idna, urllib3, requests, pipenv
...
Run Code Online (Sandbox Code Playgroud)

但是,当我pipenv install在一个新的根项目目录中运行该命令时,我收到以下消息:-bash: pipenv: command not found.我怀疑我可能需要修改我的.bashrc,但我不清楚要添加到文件中的内容或者是否需要进行修改.

小智 85

这为我修好了:

sudo -H pip install -U pipenv
Run Code Online (Sandbox Code Playgroud)

  • @Babbz77 sudo选项的-H(HOME)请求安全策略将HOME环境变量设置为密码数据库指定的目标用户的主目录(默认为root).-ip for pip install将所有指定的包升级到最新的可用版本.依赖性的处理取决于升级 - 使用的策略. (7认同)
  • 与 pip3 相同的命令对我有用“sudo -H pip3 install -U pipenv” (3认同)
  • 工作得很完美!您是否知道这些命令的含义(-H和-U)? (2认同)

det*_*hos 75

这是因为您没有在全球范围内安装它(系统范围).为了让它可以在您path使用sudo,您需要使用,如下所示:

$ sudo pip install pipenv
Run Code Online (Sandbox Code Playgroud)

  • 对于那里的复制和粘贴,这个命令通常以`sudo -H pip install -U pipenv`(例如在ubuntu上)运行,在`/ usr/local/bin`中安装`pipenv`.另一种方法是用户安装,例如`$ pip install pipenv`,它与`$ pip install --user pipenv`相同,它在`$ HOME/.local/...`中安装东西,需要`` PATH`将在其他答案中进行修改,/sf/answers/3297822951/ (51认同)
  • Sudo 很危险,只是不需要这样做。人们真的不应该在任何地方运行“sudo pip install”。您很可能想使用包管理器,无论是 apt、homebrew 还是其他。例如,“brew install pipelinenv”在 macOS 上运行良好。如果您的包管理器的目录中没有 pipelinev,那么“pip install --user”是一个合理的选择。 (8认同)
  • 维护者[不鼓励](https://pipenv.pypa.io/en/latest/#install-pipenv-today) (3认同)
  • 这使我每次都拥有一个新的桌面环境。 (2认同)

cha*_*lax 47

如果您已完成用户安装,则需要将正确的文件夹添加到PATH变量中.

PYTHON_BIN_PATH="$(python3 -m site --user-base)/bin"
PATH="$PATH:$PYTHON_BIN_PATH"
Run Code Online (Sandbox Code Playgroud)

请参阅pipenv的安装说明


Joh*_*ang 12

pipenv在Mac OS X 10.13 High Seirra上也遇到了同样的问题,另一台Mac也可以正常工作。我使用Heroku部署Django服务器,其中一些部署在2.7中,有些部署在3.6中。因此,我需要2.7和3.6。当HomeBrew安装Python时,它会python指向原始2.7,并python3指向3.6。

问题可能是由于$ pip install pipenv。我检查了/ usr / local / bin,pipenv不存在。因此,我尝试了完全卸载:

$ pip uninstall pipenv

Cannot uninstall requirement pipenv, not installed
You are using pip version 9.0.1, however version 10.0.1 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.

$ pip3 uninstall pipenv
Skipping pipenv as it is not installed.
Run Code Online (Sandbox Code Playgroud)

然后重新安装即可立即使用:

$ pip3 install pipenv
Collecting pipenv
Run Code Online (Sandbox Code Playgroud)


Han*_*xue 10

Python 存储包的地方

在进入将安装的命令之前pipenv,有必要了解pip Python 包的安装位置

全局站点包是 Python 安装包的地方,这些包可供系统上的所有用户和所有 Python 应用程序使用。可以使用命令查看全局站点包

python -m site
Run Code Online (Sandbox Code Playgroud)

例如,在使用 Python 3.7 的 Linux 上,路径通常是

/usr/lib/python3.7/dist-packages/setuptools
Run Code Online (Sandbox Code Playgroud)

用户站点包是 Python 安装仅供您使用的包的地方。但是这些包仍然对您创建的所有 Python 项目可见。你可以得到路径

python -m site --user-base
Run Code Online (Sandbox Code Playgroud)

在使用 Python 3.7 的 Linux 上,路径通常是

~/.local/lib/python3.7/site-packages
Run Code Online (Sandbox Code Playgroud)

使用 Python 3.x

在大多数 Linux 和其他 Unices 上,通常 Python 2 和 Python 3 是并行安装的。默认的 Python 3 可执行文件几乎总是python3. pip根据您的 Linux 发行版,可以作为以下任何一种使用

pip3
python3-pip
python36-pip
python3.6-pip
Run Code Online (Sandbox Code Playgroud)

Linux

避免pipsudo! 是的,这是安装 Python 包的最便捷方式,可执行文件位于/usr/local/bin/pipenv,但这也意味着特定包始终对所有用户以及您创建的所有 Python 项目可见。相反,使用每个用户的站点包代替--user

pip3 install --user pipenv
Run Code Online (Sandbox Code Playgroud)

pipenv 可在

~/.local/bin/pipenv
Run Code Online (Sandbox Code Playgroud)

苹果系统

在 macOS 上,Homebrew 是安装 Python 的推荐方式。您可以使用 Homebrew 轻松升级 Python、安装多个版本的 Python 以及在版本之间切换。

如果您使用的是 Homebrew 的 Python,pip install --user则禁用。全局站点包位于

/usr/local/lib/python3.y/site-packages
Run Code Online (Sandbox Code Playgroud)

你可以在这里安全地安装 Python 包。Python 3.y 还会在以下位置搜索模块:

 /Library/Python/3.y/site-packages
 ~/Library/Python/3.y/lib/python/site-packages
Run Code Online (Sandbox Code Playgroud)

视窗

出于遗留原因,Python 安装在C:\Python37. Python 可执行文件通常命名为py.exe,您可以pip使用py -m pip.

全局站点包安装在

C:\Python37\lib\site-packages
Run Code Online (Sandbox Code Playgroud)

由于您通常不共享您的 Windows 设备,因此也可以全局安装一个包

py -m pip install pipenv
Run Code Online (Sandbox Code Playgroud)

pipenv 现在可以在

C:\Python37\Scripts\pipenv.exe
Run Code Online (Sandbox Code Playgroud)

我不建议在 Windows 中安装 Python 包--user,因为默认用户 site-package 目录在你的 Windows 漫游配置文件中

C:\Users\user\AppData\Roaming\Python\Python37\site-packages 
Run Code Online (Sandbox Code Playgroud)

漫游配置文件用于终端服务(远程桌面、Citrix 等)以及您在公司环境中登录/注销时。在 Windows 中登录、注销和重新启动缓慢可能是由大型漫游配置文件引起的。


小智 9

我尝试了这个:

python -m pipenv # for python2

python3 -m pipenv # for python3

希望这可以帮到你。


fir*_*sne 9

  1. 首先使用以下命令安装 pip
   pip3 install pipenv 
Run Code Online (Sandbox Code Playgroud)
  1. pipenv --version现在,如果您看到类似使用以下命令,请command not found: pipenv使用以下命令检查 pipelinenv 是否显示

  2. 现在我们必须设置 pipelinev 的路径,为此我们首先必须找到用户基础二进制目录,

在linux和Mac上我们可以这样做

   python3 -m site --user-base
Run Code Online (Sandbox Code Playgroud)

该命令将显示类似这样的内容

   /some_directory/Python/3.9
Run Code Online (Sandbox Code Playgroud)

使用终端中显示的路径并附加/bin在末尾,现在您的路径如下所示

   /some_directory/Python/3.9/bin
Run Code Online (Sandbox Code Playgroud)

nano ~/.zshrc现在您必须设置路径,如果您在终端中使用 zsh (z shell) 类型,或者如果您使用 VSCode 之类的代码编辑器,并且code ~/.zshrc 如果您使用 bash 使用nano ~/.bashrc或则为 VScode 类型设置路径code ~/.bashrc

在文件中最后添加以下行

    export PATH="$PATH:/somedirectory/Python/3.9/bin"
Run Code Online (Sandbox Code Playgroud)

保存文件并退出终端现在打开新终端并键入pipenv --version您应该看到类似的内容pipenv, version 2022.10.25

在 Windows 上我们可以执行以下操作

    python -m site --user-site
Run Code Online (Sandbox Code Playgroud)

你应该看到类似的东西

    C:\Users\Username\AppData\Roaming\Python36\site-packages`
Run Code Online (Sandbox Code Playgroud)

现在替换site-packagesScripts. 这可能会返回

    C:\Users\Username\AppData\Roaming\Python36\Scripts
Run Code Online (Sandbox Code Playgroud)

您可以在控制面板中永久设置您的用户路径。您可能需要注销才能使 PATH 更改生效。


Cla*_*tos 7

OSX的家伙,在这里!!!

正如@charlax回答的那样(对我而言,这是最好的),您可以使用更动态的命令来设置PATH,对于Mac用户而言,buuut 无法正常工作,有时您从网站获取的USER_BASE路径错误,因此您需要找出您的位置python安装是。

$ which python3
/usr/local/bin/python3.6
Run Code Online (Sandbox Code Playgroud)

您将获得一个符号链接,然后需要找到源的符号链接。

$ ls -la /usr/local/bin/python3.6
  lrwxr-xr-x  1 root  wheel  71 Mar 14 17:56 /usr/local/bin/python3.6 -> ../../../Library/Frameworks/Python.framework/Versions/3.6/bin/python3.6
Run Code Online (Sandbox Code Playgroud)

(这../../../意味着根)

因此,您找到了python路径(/Library/Frameworks/Python.framework/Versions/3.6/bin/python3.6),然后只需按如下所示放入〜/ .bashrc中:

export PATH="$PATH:/Library/Frameworks/Python.framework/Versions/3.6/bin"


小智 7

我不知道发生了什么,但以下工作完成了(在 mac os catalina 下)

$ brew install pipenv

$ brew update pipenv
Run Code Online (Sandbox Code Playgroud)

这样做之后我可以使用

$ pipenv install [package_name]
Run Code Online (Sandbox Code Playgroud)


小智 6

在这种情况下,您只需将二进制路径添加到 bash 中即可。例如,如果您使用 ZSH,则需要以管理员身份编辑 .zshrc 文件,然后在上面的注释中添加 @charlax 提到的代码:

PYTHON_BIN_PATH="$(python3 -m site --user-base)/bin"
PATH="$PATH:$PYTHON_BIN_PATH"
Run Code Online (Sandbox Code Playgroud)


小智 5

通过覆盖全局/系统管理的 pip 安装,全局安装 pipenv 可能会产生不利影响,从而在尝试运行 pip 时导致导入错误。

您可以在用户级别安装 pipenv:

pip install --user pipenv

这应该在 /home/username/.local 中的用户级别安装 pipenv,以便它不会与 pip 的全局版本冲突。在我的情况下,在运行“--user”开关后仍然不起作用,所以我运行了一次更长的“修复我搞砸的”命令来恢复系统管理环境:

sudo python3 -m pip uninstall pip && sudo apt install python3-pip --reinstall

^ 在此处找到:升级 pip 后出错:无法导入名称“main”

然后做了以下事情:

mkdir /home/username/.local ...如果它不存在

export PYTHONUSERBASE=/home/username/.local

确保导出生效(在此过程中咬我一次):

echo $PYTHONUSERBASE

然后,我跑了pip install --user pipenv,一切都很好。然后我可以从 CLI 运行 pipenv 并且它没有覆盖全局/系统管理的 pip 模块。当然,这是特定于用户的,因此您要确保在以希望使用 pipenv 的用户身份工作时以这种方式安装 pipenv。

参考:

https://pipenv.readthedocs.io/en/latest/diagnose/#no-module-named-module-name https://pipenv.readthedocs.io/en/latest/install/#pragmatic-installation-of-pipenv https://pip.pypa.io/en/stable/user_guide/#user-installs


Raj*_*ngh 5

操作系统:Linux
Pip版本:pip3
sudo -H pip3 install -U pipenv

操作系统:Windows
Pip 版本:任何一个
sudo -H pip install -U pipenv


小智 5

我在 Mac 上使用 zsh,对我有用的是首先安装 pipelinev

pip3 install --user pipenv
Run Code Online (Sandbox Code Playgroud)

然后我更改了 ~/.zshrc 中的 PATH

vi ~/.zshrc
Run Code Online (Sandbox Code Playgroud)

在编辑器中按i插入文本:

export PATH="/Users/yourUser/Library/Python/3.9/bin:$PATH"
Run Code Online (Sandbox Code Playgroud)

esc然后写:wq! 关闭终端并重新打开它。最后写pipenv

这种方法对我使用 macOS BigSur 11.1 有效


Ali*_*ham 5

对于使用安装它的人sudo pip3 install pipenv,您需要使用python3 -m pipenv shellpython3.9 -m pipenv shell


小智 5

在 Mac 上您可能需要执行以下操作:

pip3 install pipenv
Run Code Online (Sandbox Code Playgroud)

然后,cd进入根目录找到该.zshrc文件。

然后将其添加到路径中

export PATH=/Library/Frameworks/Python.framework/Versions/3.9/bin:$PATH
Run Code Online (Sandbox Code Playgroud)

注意:3.9 是您系统上运行的 Python 版本。.zshrc注意:您可以在根目录中使用cmd++访问...shift. 文件默认是隐藏的

保存并重新启动您的终端