繁体   English   中英

我怎么知道 pipenv venv 正在使用哪个 python?

[英]How can I know which python a pipenv venv is using?

我正在使用pipenv管理依赖pipenv 我的系统上安装了几个 python。

我怎么知道哪个 python 安装已用于创建 venv ?

我尝试了以下方法:

pipenv --venv

-> 只返回 venv 位置,而不是 python 的原始位置

pipenv --py

-> 只返回 venv 中 python exe 的位置,而不是原始位置

pipenv run python -V

-> 只返回 python 的版本

在 virtualenv 文件夹中,有一个pyvenv.cfg文件,其中包含有关用于虚拟环境的 Python 解释器的信息:

home = /usr
implementation = CPython
version_info = 3.8.5.final.0
virtualenv = 20.1.0
include-system-site-packages = false
base-prefix = /usr
base-exec-prefix = /usr
base-executable = /usr/bin/python3

正如 Python 文档所解释的: venv

运行此命令会创建目标目录(创建任何尚不存在的父目录)并在其中放置一个pyvenv.cfg文件,其中包含一个指向运行该命令的 Python 安装的home键(目标的通用名称)目录是.venv )。 它还创建一个 bin(或 Windows 上的Scripts )子目录,其中包含 Python 二进制文件/二进制文件的副本/符号链接(适用于平台或环境创建时使用的参数)。 它还创建一个(最初为空的) lib/pythonX.Y/site-packages子目录(在 Windows 上,这是Lib\\site-packages )。 如果指定了现有目录,它将被重新使用。

sys.executable保存当前正在运行的 python 可执行文件的路径。

因此,您可以使用以下行找到版本的路径:

pipenv run python -c "import sys; print(sys.executable)"

在 Windows 上,我可以在 powershell 上使用 which 来获取 pipenv 的路径。

> which pipenv
... Source
... D:/programs/python/Scripts/pipenv.exe

暂无
暂无

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

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