我如何知道pipenv venv正在使用哪个Python?

问题描述 投票:0回答:4

我正在使用

pipenv
管理依赖关系。我的系统上安装了几个 python。

我如何知道哪个Python安装已用于创建venv?

我尝试了以下方法:

pipenv --venv

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

pipenv --py

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

pipenv run python -V

-> 仅返回 python 版本

python pipenv
4个回答
3
投票

在 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
文件,其中
home
键指向运行命令的 Python 安装(通用名称)目标目录是
.venv
)。它还创建一个 bin(或 Windows 上的
Scripts
)子目录,其中包含 Python 二进制文件的副本/符号链接(适合环境创建时使用的平台或参数)。它还创建一个(最初为空)
lib/pythonX.Y/site-packages
子目录(在 Windows 上,这是
Lib\site-packages
)。如果指定了现有目录,则会重新使用该目录。


2
投票

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

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

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

0
投票

对于 Windows PowerShell:

where.exe python

C:\Users\PC\.virtualenvs\Django_api-czJ1cM9j\Scripts\python.exe C:\Program Files\Python312\python.exe


-1
投票

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

> which pipenv
... Source
... D:/programs/python/Scripts/pipenv.exe
© www.soinside.com 2019 - 2024. All rights reserved.