V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
jianghu52
V2EX  ›  Python

搞不清楚 pycharm 的虚拟机概念,求指教

  •  
  •   jianghu52 · 2018-07-29 18:24:10 +08:00 · 2108 次点击
    这是一个创建于 2319 天前的主题,其中的信息可能已经有所发展或是发生改变。

    已经折腾一整天了。还是没搞明白 pycharm 的虚拟机到底是怎么玩的。 现在有如下几个条件

    • 系统 python (版本 3.6 )没安装 django
    • virtualenv 生成的虚拟机 ENV(版本 3.6) 安装了 django
    • pycharm 社区版

    我用 pycharm 建立项目的时候,project interpret 里面可有两个选择

    1. New environment using
    2. existing interpret

    我选择选择 1,pycharm 会自动识别已经配置到环境变量里面的虚拟机。

    生成的项目如下

    ├───.idea
    └───venv
    	├───Include
    	├───Lib
    	│   └───site-packages
    	└───Scripts
    

    我现在的疑问是,在 Lib 文件夹还有 Scripts 文件里面,都只能看到 python.exe,但是无法看到 pip,以及 Django.exe 。诡异的地方在于

    1. pychram 的 project interpret 可以看见 django 以及 pip。指向的都是 ENV 下的内容。
    2. 使用 pycharm 自带的 Terminal,输入命令 pip install django 的话,会在系统 python 目录下安装 django (同理,用 pip uninstall 的话,会提示你找不到 django )
    3. 在 terminal 中如果输入 python -m django --version 是可以得到 django 的版本的
    4. terminal 的内容行之前是带( ENV )的,也就是说现在是在虚拟机环境下

    我很奇怪,pycharm 的虚拟机是一个完整的 python 虚拟环境么。还是说他只是把 python.exe 指向了 virtualenv 的 python,而其他的包依然用的是系统的 python 下的安装的包?

    2 条回复    2018-08-25 22:06:28 +08:00
    ddzzhen
        1
    ddzzhen  
       2018-08-02 14:32:18 +08:00
    虚拟环境是新的,只是用了基础的 Python 路径吧
    Qzier
        2
    Qzier  
       2018-08-25 22:06:28 +08:00 via iPhone
    那不叫虚拟机,就是个虚拟环境
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1017 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 21:29 · PVG 05:29 · LAX 13:29 · JFK 16:29
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.