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
...

然而,当我在一个新的根项目目录中运行命令pipenv install时,我收到以下消息:我怀疑我可能需要修改我的.bashrc,但我不清楚该向文件中添加什么,或者修改是否有必要。

263127 次浏览

发生这种情况是因为您没有在全局(系统范围)安装它。为了让它在你的path中可用,你需要使用sudo安装它,就像这样:

$ sudo pip install pipenv

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

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

看到Pipenv的安装说明

这为我解决了问题:

sudo -H pip install -U pipenv

你可以考虑通过pipsi安装pipenv

curl https://raw.githubusercontent.com/mitsuhiko/pipsi/master/get -pipsi.py | python3
pipsi install pew
pipsi install pipenv

不幸的是,在撰写本文时macOS + python3存在一些问题,请参阅12。在我的例子中,我必须将bashprompt更改为#!/Users/einselbst/.local/venvs/pipsi/bin/python

Osx的伙计们,过来!!

正如@charlax回答的那样(对我来说是最好的一个),你可以使用一个更动态的命令来设置PATH, buut 对于MAC用户来说,这是行不通的,有时你从site得到的USER_BASE路径是错误的,所以你需要找出你的python安装在哪里。

$ which python3
/usr/local/bin/python3.6

你会得到一个符号链接,然后你需要找到源的符号链接。

$ 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

(这个../../../表示根)

所以你找到了python路径(/Library/Frameworks/Python.framework/Versions/3.6/bin/python3.6),然后你只需要输入you ~/。Bashrc如下:

< p > <代码> 导出路径= " $路径:/图书馆/框架/ Python.framework /版本/ 3.6 / bin” < /代码> < / p >

我试了一下:

python -m pipenv  # for python2


python3 -m pipenv # for python3

我在Mac OS X 10.13 High Seirra上的pipenv也有同样的问题,另一个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.

然后重新安装和工作现在:

$ pip3 install pipenv
Collecting pipenv

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

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

pip install --user pipenv

这应该在/home/username/的用户级别安装pipenv。局部的,这样就不会与pip的全局版本冲突。在我的例子中,在运行了“——user”开关之后,这仍然不起作用,所以我运行了一次更长的“fix what I screw up”命令来恢复系统管理的环境:

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。

引用:

__abc0 __abc1 __abc2

在旧的pip版本的某些情况下:

sudo easy_install pip
sudo pip install pipenv

对于窗口用户,这可能是由于与virtualenv的安装冲突。对我来说,当我先卸载virtualenv和pipenv,然后只安装pipenv时,它是有效的。

pip uninstall virtualenv
pip uninstall pipenv
pip install pipenv

现在pipenv install xxx为我工作了

Python存储包的位置

在进入将要安装pipenv的命令之前,有必要了解pip 安装Python包. exe在哪里。

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

python -m site

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

/usr/lib/python3.7/dist-packages/setuptools

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

python -m site --user-base

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

~/.local/lib/python3.7/site-packages

使用Python 3.x

在大多数Linux和其他unix上,通常Python 2和Python 3是并排安装的。默认的Python 3可执行文件几乎总是python3pip可能以以下任何一种方式可用,这取决于您的Linux发行版

pip3
python3-pip
python36-pip
python3.6-pip

Linux

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

pip3 install --user pipenv

pipenv可在

~/.local/bin/pipenv

macOS

在macOS上,推荐使用Homebrew安装Python。您可以轻松地升级Python,安装多个版本的Python,并使用Homebrew在不同版本之间切换。

如果你正在使用自制的Python, pip install --user将被禁用。全局站点包位于

/usr/local/lib/python3.y/site-packages

你可以在这里安全地安装Python包。Python 3。Y也在下面搜索模块:

 /Library/Python/3.y/site-packages
~/Library/Python/3.y/lib/python/site-packages

窗户

由于遗留原因,Python安装在C:\Python37中。Python可执行文件通常被命名为py.exe,你可以用py -m pip运行pip

安装全局站点包

C:\Python37\lib\site-packages

因为你通常不共享你的Windows设备,所以全局安装一个包也是可以的

py -m pip install pipenv

pipenv现在可以在

C:\Python37\Scripts\pipenv.exe

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

C:\Users\user\AppData\Roaming\Python\Python37\site-packages

漫游配置文件用于终端服务(远程桌面、Citrix等)以及当您在企业环境中登录/注销时。在Windows中,漫游配置文件过大可能导致登录、注销和重新启动缓慢。

在安装pipenv (sudo pip install pipenv)后,当试图运行pipenv shell命令时,我一直得到“命令未找到”错误。

我最终用以下代码修复了它:

pip3 install pipenv
pipenv shell

在Mac OS X Catalina上,它似乎遵循Linux路径。使用任何一种:

pip install pipenv
pip3 install pipenv
sudo pip install pipenv
sudo pip3 install pipenv

基本上在这里安装pipenv:

/Users/mike/Library/Python/3.7/lib/python/site-packages/pipenv

但它不是可执行文件,所以从来没有找到。唯一对我有用的是

pip install --user pipenv

这似乎导致在上述目录中有一个__init__.py文件,其中包含正确公开pipenv命令的内容。

当所有关于这个问题的帖子和评论都失败时,一切都开始起作用了。

pipenv包装看起来确实很挑剔。

如何使pipenv一个基本命令

使用Python3的Pipenv需要以“$ python -m Pipenv[命令]”的方式运行;或者“$ python3 -m pipenv[命令]”;;“python"命令的开头会根据你在shell中激活Python的方式而有所不同。修复并设置为“;$ pipenv[命令]”:[Git Bash中的示例]

$ cd ~
$ code .bash_profile
第一行是必要的,因为它允许您访问.bash_profile文件。第二行在VSCode中打开.bash_profile,因此插入默认代码编辑器的命令。 此时,您将希望(在.bash_profile中)编辑该文件,添加以下代码行:

alias pipenv='python -m pipenv'

然后保存文件并在Git Bash中输入:

$ source .bash_profile
你可以在任何地方使用pipenv命令,例如: $ pipenv shell 将工作。< / p >

这种使用方法适用于在Git Bash中创建命令。例如:

alias python='winpty python.exe'

输入到.bash_profile和: $ source .bash_profile 将允许Python以“Python”的形式运行。

不客气

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

$ brew install pipenv


$ brew update pipenv

这样做之后,我就可以使用了

$ pipenv install [package_name]

OS: Linux
Pip版本:pip3
sudo -H pip3 install -U pipenv < / p >

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

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

pip3 install --user pipenv

然后我改变了~/.zshrc . PATH

vi ~/.zshrc

在编辑器中按插入你的文本:

export PATH="/Users/yourUser/Library/Python/3.9/bin:$PATH"

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

我使用macOS BigSur 11.1时,这种方法很有效

对我来说,在Windows上工作的方法是以管理员身份运行命令提示符,然后全局安装pipenv: python -m pip install pipenv

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

在Mac上,你可能需要做:

pip3 install pipenv

然后,cd到你的根目录找到.zshrc文件。

然后将此添加到路径

export PATH=/Library/Frameworks/Python.framework/Versions/3.9/bin:$PATH
注意:3.9是在您的系统上运行的Python版本。 注意:你可以使用cmd + 转变 + 来访问.zshrc 在你的根目录…文件默认隐藏

保存并重新启动您的终端

以下是我成功解决“Pipenv: Command Not found”问题的方法。在我的Mac OSX上

  1. 您应该将这些目录的所有权更改为您的用户。

    sudo chown -R $(whoami) /usr/local/share

  2. make sure你的用户有写权限。

    Chmod u+w /usr/local/share

  3. 然后考虑使用Homebrew安装:

    < p > 酿造更新 < br > 编译安装pyenv

通过安装pipenv和我的中央包管理器(apt)可以轻松解决这个问题

sudo apt install pipenv

您可以使用包管理器(apt, yum, brew)轻松安装pipenv,并将其直接添加到$PATH变量中。

更值得一提的是它在zsh上工作。我在Ubuntu上使用zsh,并尝试将pipenv添加到$PATH和其他解决方案中,但直到我使用apt安装它才奏效。

如果你使用MAC

sudo -H pip3安装pipenv

这简单地解决了我的问题,如果你是在窗口。

pip install pipenv

其次,在以下路径中替换你的<username>,并将它们添加到PATH环境变量:

c:\Users\<username>\AppData\Roaming\Python\Python38\Site-Packages
C:\Users\<username>\AppData\Roaming\Python\Python38\Scripts

您需要关闭命令提示符,然后重新打开。 第三,输入以下命令检查pipenv是否正确安装

pipenv -h

我希望这对你也有帮助!

首先检查是否安装了pipenv:

pipenv --version

如果您的系统上没有可用的版本,那么运行以下命令来安装pipenv

sudo aptitude install pipenv
  1. 首先使用以下命令安装PIP
   pip3 install pipenv
  1. 现在使用以下命令检查pipenv是否显示 pipenv --version如果你看到类似command not found: pipenv使用以下命令

  2. 现在我们必须为pipenv设置路径,要做到这一点,首先我们必须找到用户基础二进制目录,

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

   python3 -m site --user-base

该命令将显示如下内容

   /some_directory/Python/3.9

使用在终端中显示的路径并在末尾附加/bin,现在你的路径看起来像这样

   /some_directory/Python/3.9/bin

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

最后在文件中添加以下行

    export PATH="$PATH:/somedirectory/Python/3.9/bin"

保存文件并退出终端 现在打开新终端,输入pipenv --version,你会看到类似pipenv, version 2022.10.25

这样的东西

在Windows上,我们可以这样做

    python -m site --user-site

你应该看看

    C:\Users\Username\AppData\Roaming\Python36\site-packages`

现在用Scripts替换site-packages。 返回

    C:\Users\Username\AppData\Roaming\Python36\Scripts

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