运行 系统上的 pipenv 脚本 python
Running pipenv scripts on system python
Pipenv 允许使用系统 Python 而不是创建 virtualenv 来安装软件包:
$ pipenv install --system
但是如果我这样做,后续的 pipenv run
将尝试创建 virtualenv 而不是使用系统 Python。特别是,我对使用 Pipenv 脚本很感兴趣:
$ pipenv run postinstall
Creating a virtualenv for this project...
有没有办法为 Pipenv 脚本使用系统 Python 解释器?
设置 pipenv 时,您可以使用 pipenv --python 3.6
指定 Python 的版本,以使用 Python3.6.
编辑 Pipfile 也可以,方法是更改:
[requires]
python_version = "3.6.6"
到你想要的Python具体版本。
如果您完成了所有这些操作,但仍然无法从 pipenv shell
中访问 Python 的正确版本,那么您可能需要检查 .bashrc
文件以确保您没有 Python.
特定版本的 alias
据我所知,运行 Pipfile
中的脚本如果不使用 pipenv
是不可能的
pipenv
的维护者在几年前决定反对这样的功能(例如,请参阅 Add a --system flag to pipenv run #2693 上的讨论),我找不到任何新的说法。
如果你想 运行 一个脚本在你的系统安装中,只需 运行 它通常在终端中。如果您在没有虚拟环境的情况下工作,则不需要 pipenv
到 运行 任何脚本。例如。如果您在 script
部分定义了 app = "uvicorn my_app.main:app --port 8080"
并进行了系统安装,之后您可以在终端中调用 uvicorn my_app.main:app --port 8080
。
我明白在Pipfile
中定义一些scripts/aliases有一些方便。但是,如果您还需要虚拟环境之外的那些,最好只创建实际的 shell 脚本。如果你想让 pipenv run
功能继续工作,只需确保 Pipfile
中定义的这些脚本调用 shell 脚本以避免代码重复。
Pipenv 允许使用系统 Python 而不是创建 virtualenv 来安装软件包:
$ pipenv install --system
但是如果我这样做,后续的 pipenv run
将尝试创建 virtualenv 而不是使用系统 Python。特别是,我对使用 Pipenv 脚本很感兴趣:
$ pipenv run postinstall
Creating a virtualenv for this project...
有没有办法为 Pipenv 脚本使用系统 Python 解释器?
设置 pipenv 时,您可以使用 pipenv --python 3.6
指定 Python 的版本,以使用 Python3.6.
编辑 Pipfile 也可以,方法是更改:
[requires]
python_version = "3.6.6"
到你想要的Python具体版本。
如果您完成了所有这些操作,但仍然无法从 pipenv shell
中访问 Python 的正确版本,那么您可能需要检查 .bashrc
文件以确保您没有 Python.
alias
据我所知,运行 Pipfile
中的脚本如果不使用 pipenv
是不可能的
pipenv
的维护者在几年前决定反对这样的功能(例如,请参阅 Add a --system flag to pipenv run #2693 上的讨论),我找不到任何新的说法。
如果你想 运行 一个脚本在你的系统安装中,只需 运行 它通常在终端中。如果您在没有虚拟环境的情况下工作,则不需要 pipenv
到 运行 任何脚本。例如。如果您在 script
部分定义了 app = "uvicorn my_app.main:app --port 8080"
并进行了系统安装,之后您可以在终端中调用 uvicorn my_app.main:app --port 8080
。
我明白在Pipfile
中定义一些scripts/aliases有一些方便。但是,如果您还需要虚拟环境之外的那些,最好只创建实际的 shell 脚本。如果你想让 pipenv run
功能继续工作,只需确保 Pipfile
中定义的这些脚本调用 shell 脚本以避免代码重复。