国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

virtualenv和它的原理

2019-11-09 19:57:45
字體:
來源:轉載
供稿:網友

虛擬環境是一個將不同項目所需求的依賴分別放在獨立的地方的一個工具,它給這些工程創建虛擬的Python環境。它解決了“項目X依賴于版本1.x,而項目Y需要項目4.x”的兩難問題,而且使你的全局site-packages目錄保持干凈和可管理。

關于virtualenv怎么使用請看官方介紹:http://pythonguidecn.readthedocs.io/zh/latest/dev/virtualenvs.html。

這里想談的問題是——它是怎么做到的?How?

激活virtualenv的方式是運行這行代碼:source venv/bin/activate,打開activate腳本,會發現,原來如此: virtualenv的奧秘

可以看出,它只是很簡單地,在原來的環境變量的最前面,增加了自己關于python庫的運行環境而已。

比如我們在virtualenv里運行python這個可執行文件,會首先在當前目錄找,找不到再去系統路徑(PATH環境變量)里面找;由于在通過PATH查找是從頭到尾順序找,直到找到第一個符合的程序來執行,所以把虛擬環境的可執行文件目錄放在最前面,自然執行的都是自己當前所代表的python環境了!

這應該就是virtualenv的本質,其它的腳本代碼是一些細節的東西,有興趣可以自行研究之。

里面的設計有挺多精巧之處的,比如,真的要拷貝所有的python可運行文件嗎?這樣太浪費空間了,且看看virtualenv是怎么做的: 這里寫圖片描述

其實就是做了一個軟鏈接,保證可用又省空間!(從上圖可以看出,一個鏈接只占用了7個字節)


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 庆阳市| 怀仁县| 东平县| 石林| 遂宁市| 抚宁县| 阿尔山市| 太保市| 五大连池市| 潞城市| 敖汉旗| 平远县| 江阴市| 缙云县| 新化县| 县级市| 金乡县| 尼玛县| 正阳县| 松江区| 鄂州市| 南江县| 瑞丽市| 塔河县| 宁德市| 新建县| 兰溪市| 仙桃市| 邵武市| 新源县| 繁昌县| 武定县| 大同县| 永顺县| 霸州市| 托里县| 永靖县| 墨江| 中超| 锡林郭勒盟| 桐柏县|