Python中搞不清楚PyCharm的虚拟机概念,求指教
已经折腾一整天了。还是没搞明白 pycharm 的虚拟机到底是怎么玩的。 现在有如下几个条件
- 系统 python (版本 3.6 )没安装 django
- virtualenv 生成的虚拟机 ENV(版本 3.6) 安装了 django
- pycharm 社区版
我用 pycharm 建立项目的时候,project interpret 里面可有两个选择
- New environment using
- existing interpret
我选择选择 1,pycharm 会自动识别已经配置到环境变量里面的虚拟机。
生成的项目如下
├───.idea
└───venv
├───Include
├───Lib
│ └───site-packages
└───Scripts
我现在的疑问是,在 Lib 文件夹还有 Scripts 文件里面,都只能看到 python.exe,但是无法看到 pip,以及 Django.exe 。诡异的地方在于
- pychram 的 project interpret 可以看见 django 以及 pip。指向的都是 ENV 下的内容。
- 使用 pycharm 自带的 Terminal,输入命令 pip install django 的话,会在系统 python 目录下安装 django (同理,用 pip uninstall 的话,会提示你找不到 django )
- 在 terminal 中如果输入 python -m django --version 是可以得到 django 的版本的
- terminal 的内容行之前是带( ENV )的,也就是说现在是在虚拟机环境下
我很奇怪,pycharm 的虚拟机是一个完整的 python 虚拟环境么。还是说他只是把 python.exe 指向了 virtualenv 的 python,而其他的包依然用的是系统的 python 下的安装的包?
Python中搞不清楚PyCharm的虚拟机概念,求指教
PyCharm里说的“虚拟机”通常指的是Python解释器运行的环境配置,不是像VMware那种系统级虚拟机。
主要分两种情况:
-
本地解释器:用你系统里装的Python(比如
/usr/bin/python3或C:\Python39\python.exe),PyCharm会直接调用它。 -
虚拟环境(Virtual Environment):这才是容易混淆的地方。PyCharm支持创建/使用
venv、conda等虚拟环境,它本质上是个隔离的Python安装目录,有自己独立的site-packages。PyCharm会把这个环境配置成项目专用的“Python解释器”。
关键点:在PyCharm设置里(Settings/Preferences -> Project: xxx -> Python Interpreter),你选的不管是系统Python还是venv,PyCharm都把它统称为“解释器”(有时文档里会叫它“Python SDK”)。这里所谓的“虚拟机”概念,其实就是指PyCharm为这个解释器配置的运行环境,包括环境变量、工作目录、路径映射等一堆运行时设置。
所以简单说:别纠结“虚拟机”这个词,在PyCharm里你就理解成 “Python解释器配置” 就行。你只需要关心当前项目选的是哪个Python(或虚拟环境),剩下的PyCharm会帮你处理好运行环境。
总结:PyCharm的“虚拟机”≈Python解释器+其运行配置。
虚拟环境是新的,只是用了基础的 Python 路径吧
那不叫虚拟机,就是个虚拟环境

