首页 > 解决方案 > 我怎么知道 pipenv venv 正在使用哪个 python?

问题描述

我正在使用pipenv. 我的系统上安装了几个 python。

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

我尝试了以下方法:

pipenv --venv

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

pipenv --py

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

pipenv run python -V

-> 只返回 python 的版本

标签: pythonpipenv

解决方案


在 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(或Scripts在 Windows 上)子目录,其中包含 Python 二进制文件/二进制文件的副本/符号链接(适用于平台或在环境创建时使用的参数)。它还创建一个(最初为空的)lib/pythonX.Y/site-packages子目录(在 Windows 上,这是Lib\site-packages)。如果指定了现有目录,它将被重新使用。


推荐阅读