我试着用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时,我收到以下消息:-bash: pipenv: command not found。我怀疑我可能需要修改我的.bashrc,但我不清楚该向文件中添加什么,或者修改是否有必要。


当前回答

如何使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 将工作。

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

alias python='winpty python.exe'

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

不客气

其他回答

我试了一下:

python -m pipenv  # for python2

python3 -m pipenv # for python3

为什么有效:在Bash和其他类unix的shell环境中,-m选项用于指定要作为脚本运行的模块。

当您使用Python -m命令运行Python脚本时,您是在告诉Python解释器将脚本作为顶级模块执行,而不是作为脚本文件执行。python -m pipenv命令告诉python解释器以脚本的形式运行pipenv模块。pipenv模块必须可以从当前工作目录或PYTHONPATH环境变量中的一个目录导入。

Osx的伙计们,过来!!

正如@charlax回答的那样(对我来说是最好的一个),你可以使用一个更动态的命令来设置PATH,但对于mac用户来说,这是行不通的,有时你从站点获得的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如下:

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

首先使用以下命令安装PIP

   pip3 install pipenv 

现在使用以下命令检查是否显示pipenv Pipenv——如果你看到类似的命令没有找到:Pipenv使用以下命令 现在我们必须为pipenv设置路径,要做到这一点,首先我们必须找到基于用户的二进制目录,

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

   python3 -m site --user-base

该命令将显示如下内容

   /some_directory/Python/3.9

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

   /some_directory/Python/3.9/bin

现在你必须设置路径,如果你使用ZSH (z shell)类型的nano ~/。如果你使用像VSCode这样的代码编辑器,并且路径设置为VSCode类型代码~/.zshrc 如果使用bash,请使用nano ~/。或代码~/.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`

现在用脚本替换站点包。 这可能会返回

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

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

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

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

PIP安装——pipenv用户

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

Sudo python3 -m PIP uninstall PIP && Sudo apt install python3- PIP—重新安装

升级pip后出现错误:无法导入名称“main”

然后做了以下事情:

mkdir /home/username/.地方……如果它还不存在

出口PYTHONUSERBASE = / home /用户名/。local

确保导出生效(在这个过程中咬了我一下):

echo $ PYTHONUSERBASE

然后,我运行pipenv用户的pip install,一切正常。然后我可以从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

如何使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 将工作。

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

alias python='winpty python.exe'

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

不客气