Conda 創(chuàng)建 Python 虛擬環(huán)境不純凈的問題(2021.1.18)

Conda 創(chuàng)建 Python 虛擬環(huán)境不純凈的問題(2021.1.18)

[TOC]

1. 產(chǎn)生環(huán)境

  • Ubuntu 16.04乖杠;
  • Conda 4.9.2澄成;
  • Python3.6;

2. 問題描述

通過 Conda 命令創(chuàng)建 Python 虛擬環(huán)境后卫漫,利用 pip list 命令查看包列表列赎,發(fā)現(xiàn)有很多多余的包镐确,并不是一個(gè)干凈的虛擬環(huán)境。問題出現(xiàn)的具體操作如下:

# 創(chuàng)建 Python 虛擬環(huán)境
$ conda create -n env python=3.6

# 激活 Python 虛擬環(huán)境
$ conda activate env

# 查看包列表
$ pip list 
Package         Version
--------------- -------------------
autopep8        1.5.4
certifi         2020.12.5
cycler          0.10.0
kiwisolver      1.3.1
matplotlib      3.3.3
Pillow          8.0.1
pip             20.3.3
pycodestyle     2.6.0
python-dateutil 2.8.1
scipy           1.5.4
setuptools      51.1.2.post20210112
toml            0.10.2
wheel           0.36.2

3. 原因分析

經(jīng)過調(diào)研發(fā)現(xiàn)并不是 Conda 創(chuàng)建的 Python 虛擬環(huán)境不純凈诗越,而是 Pip 列出了用戶安裝的包嚷狞。可以通過如下命令進(jìn)行查看:

# 查看 sys.path床未,確認(rèn) pip 列出包的來(lái)源
$ python -m site
sys.path = [
    '/data/xxx',
    '/data/xxx/.anaconda3/envs/env/lib/python36.zip',
    '/data/xxx/.anaconda3/envs/env/lib/python3.6',
    '/data/xxx/.anaconda3/envs/env/lib/python3.6/lib-dynload',
    '/data/xxx/.local/lib/python3.6/site-packages',
    '/data/xxx/.anaconda3/envs/env/lib/python3.6/site-packages',
]
USER_BASE: '/data/xxx/.local' (exists)
USER_SITE: '/data/xxx/.local/lib/python3.6/site-packages' (exists)
ENABLE_USER_SITE: True

可以看到 ENABLE_USER_SITE 的值為 True 振坚,且 USER_SITE 的路徑為 /data/xxx/.local/lib/python3.6/site-packages ,查看該路徑后發(fā)現(xiàn) pip list 列出的包確實(shí)是該目錄下的只酥。

4. 解決方法

了解了問題出現(xiàn)的原因,那我們只需要把 ENABLE_USER_SITE 的值設(shè)置為 FALSE 即可裂允。具體的操作過程如下:

# 查看 site.py 的位置
$ python -m site --help
/data/xxx/.anaconda3/envs/env/lib/python3.6/site.py [--user-base] [--user-site]

Without arguments print some useful information
With arguments print the value of USER_BASE and/or USER_SITE separated
by ':'.

Exit codes with --user-base or --user-site:
  0 - user site directory is enabled
  1 - user site directory is disabled by user
  2 - uses site directory is disabled by super user
      or for security reasons
 >2 - unknown error
 
 # 可以看到 site.py 的位置為 /data/xxx/.anaconda3/envs/env/lib/python3.6/site.py
 # 編輯該文件绝编,找到 ENABLE_USER_SITE 并將其設(shè)置為 False
 $ vim /data/xxx/.anaconda3/envs/env/lib/python3.6/site.py
 
 # 再次查看 sys.path 的路徑,發(fā)現(xiàn) ENABLE_USER_SITE 的值已經(jīng)變?yōu)榱?False
 $ python -m site
 sys.path = [
    '/data/xxx',
    '/data/xxx/.anaconda3/envs/env/lib/python36.zip',
    '/data/xxx/.anaconda3/envs/env/lib/python3.6',
    '/data/xxx/.anaconda3/envs/env/lib/python3.6/lib-dynload',
    '/data/xxx/.anaconda3/envs/env/lib/python3.6/site-packages',
]
USER_BASE: '/data/xxx/.local' (exists)
USER_SITE: '/data/xxx/.local/lib/python3.6/site-packages' (exists)
ENABLE_USER_SITE: False

# 再次查看 pip list 包列表窟勃,已經(jīng)沒了多余的包
$ pip list
Package    Version
---------- -------------------
certifi    2020.12.5
pip        20.3.3
setuptools 51.1.2.post20210112
wheel      0.36.2
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末秉氧,一起剝皮案震驚了整個(gè)濱河市汁咏,隨后出現(xiàn)的幾起案子作媚,更是在濱河造成了極大的恐慌,老刑警劉巖纸泡,帶你破解...
    沈念sama閱讀 219,589評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件女揭,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡勤哗,警方通過查閱死者的電腦和手機(jī)掩驱,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,615評(píng)論 3 396
  • 文/潘曉璐 我一進(jìn)店門欧穴,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)泵殴,“玉大人,你說(shuō)我怎么就攤上這事笑诅〈辏” “怎么了俊犯?”我有些...
    開封第一講書人閱讀 165,933評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵燕侠,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我绢彤,道長(zhǎng)蜓耻,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,976評(píng)論 1 295
  • 正文 為了忘掉前任奇适,我火速辦了婚禮嚷往,結(jié)果婚禮上柠衅,老公的妹妹穿的比我還像新娘。我一直安慰自己贷祈,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,999評(píng)論 6 393
  • 文/花漫 我一把揭開白布势誊。 她就那樣靜靜地躺著粟耻,像睡著了一般眉踱。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上册烈,一...
    開封第一講書人閱讀 51,775評(píng)論 1 307
  • 那天婿禽,我揣著相機(jī)與錄音大猛,去河邊找鬼胎署。 笑死窑滞,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的哀卫。 我是一名探鬼主播,決...
    沈念sama閱讀 40,474評(píng)論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼趾撵,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼占调!你這毒婦竟也來(lái)了移剪?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,359評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤剿涮,失蹤者是張志新(化名)和其女友劉穎攻人,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體瞬浓,經(jīng)...
    沈念sama閱讀 45,854評(píng)論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡猿棉,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,007評(píng)論 3 338
  • 正文 我和宋清朗相戀三年渣窜,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了宪躯。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,146評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡详瑞,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出坝橡,到底是詐尸還是另有隱情,我是刑警寧澤锣杂,帶...
    沈念sama閱讀 35,826評(píng)論 5 346
  • 正文 年R本政府宣布元莫,位于F島的核電站,受9級(jí)特大地震影響踱蠢,放射性物質(zhì)發(fā)生泄漏棋电。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,484評(píng)論 3 331
  • 文/蒙蒙 一企锌、第九天 我趴在偏房一處隱蔽的房頂上張望于未。 院中可真熱鬧,春花似錦沉眶、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,029評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至状知,卻和暖如春孽查,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,153評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工瓣铣, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留贷揽,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,420評(píng)論 3 373
  • 正文 我出身青樓蓖救,卻偏偏與公主長(zhǎng)得像印屁,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子巨柒,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,107評(píng)論 2 356

推薦閱讀更多精彩內(nèi)容