操屁眼的视频在线免费看,日本在线综合一区二区,久久在线观看免费视频,欧美日韩精品久久综

新聞資訊

    這個(gè)案例告訴我們,千萬不要動系統(tǒng)自帶的 Python,Win系統(tǒng)除外

    文 | fanzhenyu 出處 | http://fanzhenyu.cn/

    由于無知,卸載 Ubuntu 自帶的 python3 引發(fā)慘案,謹(jǐn)記,深刻反思。

    慘案

    由于實(shí)驗(yàn)需要使用 Python3.6 以上版本,于是決定卸載 Python3.5。

    1. # 卸載 python3.5

    2. $ sudo apt-getremove python3.5

    沒用,終端輸入 python3 還是可以使用。于是,網(wǎng)上查找卸載python3.5的方法:

    1. # 卸載 python3.5 及其依賴

    2. $ sudo apt-getremove --auto-remove python3.5

    3. # 清除 python3.5

    4. $ sudo apt-getpurge python3.5

    or

    1. $ sudo apt-getpurge --auto-remove python3.5

    接下來,終端輸入 python3 依然還是可以使用。

    1. # 刪除鏈接

    2. sudo rm /usr/bin/python3

    然后,突然發(fā)現(xiàn)側(cè)邊菜單欄變灰,感覺不對勁,重啟。然后,側(cè)邊菜單欄不見了,右鍵連打開終端的選項(xiàng)都沒有了。

    于是,查找解決方案:

    1. # 切換到命令行模式

    2. ctrl+alt+t

    3. # 失敗,再次嘗試

    4. ctrl+alt+F1

    5. # 成功

    6. $ sudo apt install -f

    7. # 重新安裝桌面

    8. $ sudo apt-get-f install ubuntu-minimal ubuntu-standard ubuntu-desktop

    9. # 重啟

    10. $ sudo reboot

    重啟后,菜單欄又出現(xiàn)了。但是,終端依然沒有。可以在 xterm 或者 中嘗試安裝:

    1. $ sudo apt install gnome-terminal

    但是,一般是不起作用的,還是打不開。由于系統(tǒng)中很多軟件都是依賴 python3,所以卸載了 python3 導(dǎo)致了系統(tǒng)崩潰。即使安裝了 python3.6+ 并設(shè)置了 python3 的軟連接,依然不行。

    可以嘗試重裝 python3.5,然后設(shè)置 python3 軟連接。也可以嘗試以下方法:

    • https://blog.csdn.net/tao_627/article/details/91042809

    • https://blog.csdn.net/qs521/article/details/98945938

    慘案發(fā)生后,即使菜單欄回來了,終端或許也能打開了,但是使用 apt 安裝軟件一直報(bào) dpkg 的錯(cuò)誤,找了很多方法也沒有解決,所以還是決定重新裝系統(tǒng)了。

    正確安裝 Python 3.6+

    正確的方式就是不要輕易刪除 python3 及其依賴。特別是不要刪除依賴。在 Ubuntu16.04 中修改 python3 指向 3.6+ 版本以后,某些軟件會無法使用,比如終端,需要使用上面連接的方法進(jìn)行相應(yīng)的處理。

    這里編程派更推薦的方案是通過 pyenv 安裝 3.6+版本。

    安裝 Python3.6+ 以上版本的正確姿勢:

    1. # 從官網(wǎng)下載對應(yīng)版本的源碼

    2. https://www.python.org/downloads/source/

    3. # 解壓

    4. $ tar -zxvf xxxxx

    5. $ cd xxxx

    6. # 創(chuàng)建安裝目錄

    7. $ sudo mkdir -p /usr/local/python3

    8. # 配置、編譯、安裝

    9. $ ./configure --preifx=/usr/local/python3 --enable-optimizations

    10. $ make

    11. $ sudo make install

    安裝以后,不修改 python3 的指向,可以為 python3.6+ 版本指定不同的鏈接名:

    1. # 添加 python37 的軟鏈接

    2. $ ln -s /usr/local/python3/bin/python3.7/usr/bin/python37

    3. # 添加 pip3 的軟鏈接(這樣pip3就是python3.7專用的,也可以起名為 pip37,不影響python3.5的pip3)

    4. $ ln -s /usr/local/python3/bin/pip3.7/usr/bin/pip3

    檢測版本,查看是否成功:

    1. $ python37 -V

    2. $ pip3 -V

    重新安裝系統(tǒng)、軟件、搭建實(shí)驗(yàn)環(huán)境,真的是心累啊。謹(jǐn)記,以后不要隨便卸載系統(tǒng)自帶軟件,特別是不要相信某些博客寫的徹底清除xxx及其依賴的操作。

    回復(fù)下方「關(guān)鍵詞」,獲取優(yōu)質(zhì)資源

    回復(fù)關(guān)鍵詞「 pybook03」,立即獲取主頁君與小伙伴一起翻譯的《Think Python 2e》電子版

    回復(fù)關(guān)鍵詞「入門資料」,立即獲取主頁君整理的 10 本 Python 入門書的電子版

    回復(fù)關(guān)鍵詞「m」,立即獲取Python精選優(yōu)質(zhì)文章合集

    回復(fù)關(guān)鍵詞「book 數(shù)字」,將數(shù)字替換成 0 及以上數(shù)字,有驚喜好禮哦~

    題圖:pexels,CC0 授權(quán)。


    [TOC]
    第一步:安裝wsl
    第二步:安裝wsl terminal
    第三步:更新root用戶的密碼
    第四步:更換軟件源(apt源和pip源)
    第五步:安裝zsh
    第六步:安裝Vim plug和YouCompleteMe
    第七步:編譯YCM
    第八步:配置YCM
    第九步 python和pip配置
    第十步 pypy3安裝配置(如果不使用pypy請?zhí)^)
    第十一步 使用virtualenvwrapper虛擬環(huán)境
    第十二步 Vim語法檢查和格式化代碼
    第十三步 安裝MariaDB數(shù)據(jù)庫
    第十四步:(僅對本人有效)修改.vimrc,添加molakai主題

    第一步:安裝wsl

    WSL(Ubuntu)將Ubuntu和Win10無縫連接起來,讓開發(fā)人員可以不使用虛擬機(jī),就輕松地在同一個(gè)系統(tǒng)中使用win10和Ubuntu,你可以用它代替Cywin32和babun.

    • 最新版win10(18年3月更新)

    1. 在win10的設(shè)置中打開更新和安全,打開針對開發(fā)人員選項(xiàng)

    2. 然后在程序和功能中打開Linux子系統(tǒng)。

    3. 重啟計(jì)算機(jī)后,打開應(yīng)用商店搜索下載ubuntu18.04

    • 舊版的win10或者離線安裝
      參考下面的內(nèi)容安裝bash。
      http://www.cnblogs.com/VAllen/archive/2017/04/03/BashOnWindowsDownloadAndInstallError.html
      推薦選擇16.04的ubuntu。

    • 添加ubuntu到快速訪問
      如果你需要經(jīng)常在win10資源管理器對ubuntu的文件進(jìn)行操作,那么在C盤搜索rootfs這個(gè)文件夾,這就是ubuntu在win10上的儲存位置。
      將rootfs文件夾拖放到資源管理器的快速訪問。(你也可以添加其下的/home/你的用戶文件夾)

    • 獲取權(quán)限
      直接在win10資源管理器操作ubuntu的文件可能是無效的,這是因?yàn)閣in10的默認(rèn)用戶并不是超級管理員,對ubuntu的權(quán)限是只讀的。
      你需要取得rootfs文件夾的所有權(quán)限。(可以使用“鼠標(biāo)管家”這個(gè)軟件,添加菜單,管理員取得所有權(quán)限)

    第二步:安裝wsl terminal

    wsl-terminal是一個(gè)很好用的WSL終端。

    • 下載WSL:
      https://github.com/goreliu/wsl-terminal/releases
      下載失敗請?jiān)囋囈郧暗陌姹?/p>

    • 在鼠標(biāo)右鍵添加Open WSL Here
      在wsl程序目錄下,有個(gè)tools目錄,運(yùn)行其中的1-add-open-wsl-terminal-here-menu。(刪除則運(yùn)行1-remove開頭的腳本)

    注意:最新版windows需要把wsl-terminal安裝在非C盤

    第三步:更新root用戶的密碼

    桌面點(diǎn)擊鼠標(biāo)右鍵,選擇Open WSL Here打開Bash。

    • 更新root密碼:

    sudo passwd

    這一步需要輸入你在下載ubuntu后建立的用戶密碼

    第四步:更換軟件源(apt源和pip源)

    系統(tǒng)默認(rèn)的apt源是國外的,下載軟件速度慢,python的pip源也很慢,我們都換成阿里云的源。

    • 更換apt源:

    cd /etc/apt/sudo cp sources.list sources.list.bak && sudo vim sources.list

    刪除其中所有內(nèi)容,替換成:

    deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiversedeb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiversedeb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiversedeb http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiversedeb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiversedeb-src http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiversedeb-src http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiversedeb-src http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiversedeb-src http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiversedeb-src http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
    sudo apt updatesudo apt upgrade
    • 修改pip源:
      創(chuàng)建pip配置文件:
      mkdir ~/.pip && vi ~/.pip/pip.conf
      在打開的vim中輸入下文并保存:

    [global]trusted-host=mirrors.aliyun.comindex-url=http://mirrors.aliyun.com/pypi/simple/

    第五步:安裝zsh

    zsh能讓你通過鍵盤的上鍵,查找以前輸入的命令。
    例如,你可以輸入sudo然后按向上鍵,就會出現(xiàn)以前輸入的以sudo開頭的命令。

    • 安裝zsh:
      sudo apt -y install zsh

    • 安裝oh-my-zsh:
      sh -c "$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"

    • 讓wsl-terminal默認(rèn)啟動zsh:
      在wsl-terminal安裝目錄的/etc中,修改wsl-terminal.conf中相應(yīng)的部分為

    ;shell=/bin/bashshell=/bin/zsh

    如果提示文件只讀,采取第一步中的獲取權(quán)限

    第六步:安裝Vim plug和YouCompleteMe

    Vim plug是vim插件管理工具,YCM是很好用的C、python代碼補(bǔ)全工具,也支持Go、Rust等其他語言。

    • 下載Vim Plug:
      curl -fLo ~/.vim/autoload/plug.vim --create-dirs https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim

    • 在vimrc中添加安裝配置

    vi ~/.vimrc

    在其中添加

    " Specify a directory for pluginscall plug#begin('~/.vim/plugged')" Make sure you use single quotesPlug 'jiangmiao/auto-pairs'Plug 'davidhalter/jedi-vim', {'for': 'python'}Plug 'Valloric/YouCompleteMe', {'for': 'python'}"可以添加已經(jīng)手動安裝的插件"Plug '~/.vim/bundle/YouCompleteMe'" Initialize plugin systemcall plug#end()

    保存退出,并進(jìn)入vi

    vi

    按下鍵進(jìn)入命令行,輸入

    PlugInstall

    注意:

    YCM的python補(bǔ)全依賴jedi-vim

    因?yàn)閅CM包有200多M,所以需要下載很久。

    第七步:編譯YCM

    安裝完成后提示YCM server錯(cuò)誤,這是正常的,因?yàn)閥cm需要手工編譯出YCM core庫。

    1. 安裝YCM編譯需要的依賴
      sudo apt -y install cmake build-essential python3-dev

    2. 切換到Y(jié)CM目錄:
      cd ~/.vim/plugged/YouCompleteMe

    3. 更改編譯使用python3(使用python2.7時(shí)跳過本步驟):
      vi ./install.py
      把第一行末尾的python改為python3

    4. 編譯YCM core:
      ./install.py

    參考:
    vim安裝YouCompleteMe插件,與python補(bǔ)全插件jedi-vim

    第八步:配置YCM

    YouCompleteMe配置后才能發(fā)揮出它強(qiáng)大的功效。

    • 在vimrc中設(shè)置YCM使用python3支持:

    "python版本設(shè)置,使用python2.7時(shí)去掉末尾的數(shù)字3let g:ycm_python_binary_path='/usr/bin/python3'" 語法關(guān)鍵字補(bǔ)全let g:ycm_seed_identifiers_with_syntax=1"從第2個(gè)鍵入字符就開始羅列匹配項(xiàng)let g:ycm_min_num_of_chars_for_completion=2"最小候選標(biāo)識符長度let g:ycm_min_num_identifier_candidate_chars=5"按下Ctrl+空格直接彈出所有類和函數(shù),要先關(guān)閉系統(tǒng)中的輸入法切換快捷鍵let g:ycm_key_invoke_completion='<C-Space>'"配置文件路徑let g:ycm_global_ycm_extra_conf='~/.vim/.ycm_extra_conf.py'"把ycm識別的標(biāo)識符和語法關(guān)鍵字放在一起let g:ycm_seed_identifiers_with_syntax=1"注釋和字符串中的文字也會被收入補(bǔ)全,默認(rèn)關(guān)閉let g:ycm_collect_identifiers_from_comments_and_strings=1"字符串輸入補(bǔ)全,字符串中輸入.加字母時(shí)會引發(fā)錯(cuò)誤,默認(rèn)開啟let g:ycm_complete_in_strings=1

    不同于很多vim插件,YCM需要有配置。在vim啟動后,YCM會找尋當(dāng)前路徑以及上層路徑的.ycm_extra_conf.py。在~/.vim/bundle/YouCompleteMe/third_party/ycmd/examples/中提供了默認(rèn)的模板。

    復(fù)制配置文件:
    cp ~/.vim/plugged/YouCompleteMe/third_party/ycmd/examples/.ycm_extra_conf.py ~/.vim/

    第九步 python和pip配置

    • 修改默認(rèn)python3

    sudo ln -s /usr/bin/python3 /usr/bin/pythonwget bootstrap.pypa.io/get-pip.py
    • 安裝pip

    sudo python get-pip.py

    第十步 pypy3安裝配置(如果不使用pypy請?zhí)^)

    • 下載pypy3并解壓
      到pypy官網(wǎng)下載pypy3.6-v7.0.0-linux64.tar.bz2,然后用下面的命令解壓

    tar -jxvf pypy3.6-v7.0.0-linux64.tar.bz2

    解壓命令詳解

    • 解壓后把文件夾命名為pypy3

    • 移動pypy3到/usr/local/lib

    sudo mv pypy3 /usr/local/lib/
    • 建立軟鏈接,使其可執(zhí)行

    sudo ln -s /usr/local/lib/pypy3/bin/pypy3 /usr/bin/pypy
    • 給pypy安裝pip

    sudo pypy get-pip.pysudo ln -s /usr/local/lib/pypy3/bin/pip /usr/bin/pipp

    注意:你也可以使用類似pip-pypy的命令來代替pipp,這只是我個(gè)人習(xí)慣

    第十一步 使用virtualenvwrapper虛擬環(huán)境

    通常不同的項(xiàng)目會使用不同的庫版本,虛擬環(huán)境能讓你免弄壞系統(tǒng)環(huán)境的風(fēng)險(xiǎn)。virtalenvwrapper基于virtualenv,但是更方便。

    • 安裝virtualenvwrapper

    sudo pip install -U virtualenvwrapper

    這會自動安裝依賴包virtualenv。

    • 打開zshrc,添加環(huán)境變量等后,重啟zsh終端

    vi ~/.zshrcexport PATH=/usr/local/lib/pypy3/bin:$PATHexport VIRTUALENVWRAPPER_PYTHON=/usr/local/lib/pypy3/bin/pypy3source /usr/local/lib/pypy3/bin/virtualenvwrapper.sh
    • 新建虛擬環(huán)境

    mkvirtualenv -p /usr/local/lib/pypy3/bin/pypy3 env1

    默認(rèn)創(chuàng)建在~/. virtualenvs目錄下
    -p指定了建立時(shí)使用的版本,如果你使用默認(rèn)的python3,可以使用
    mkvirtualenv env1

    • 自動選擇虛擬環(huán)境,在zshrc末尾添加

    workon env1

    注:找不到virtualenvwrapper.sh,可以使用下面的命令查找腳本

    sudo find / -path "/mnt" -prune -o -name virtualenvwrapper.sh -print

    第十二步 Vim語法檢查和格式化代碼

    syntastic是語法檢查工具,它需要flake8的支持,yapf用來格式化python代碼。

    • 安裝flake8語法檢查和yapf代碼格式化

    sudo pipp install flake8 yapf
    • 在vimrc中安裝syntastic
      vimrc中添加

    Plugin 'vim-syntastic/syntastic'"(下面的配置放在vundle安裝語句外)"vimrc設(shè)置flake8作為語法檢查器let g:syntastic_python_checkers=['flake8']"高亮錯(cuò)誤"let g:syntastic_enable_highlighting=1"自動跳轉(zhuǎn)到發(fā)現(xiàn)的第一個(gè)錯(cuò)誤或警告處"let g:syntastic_auto_jump=1"yapf自動格式化快捷鍵"autocmd FileType python nnoremap <F8> :0, $!yapf<CR><CR>

    保存退出后,用PluginInstall命令安裝。

    yapf僅對py文件有效, 如果出現(xiàn)語法錯(cuò)誤,可能會出現(xiàn)亂碼,這時(shí)按u鍵恢復(fù)py文件。

    第十三步 安裝MariaDB數(shù)據(jù)庫

    MariaDB是MySQL作者的新分支,CentOS已經(jīng)默認(rèn)使用MariaDB代替MySQL。

    • 安裝

    sudo apt -y install mariadb-server python3-pymysql
    • 重啟數(shù)據(jù)庫,以創(chuàng)建sock文件

    sudo service mysql restart
    • 切換到root用戶,進(jìn)入數(shù)據(jù)庫

    su -# 輸入密碼mysql
    • 在mysql> 提示符下創(chuàng)建用戶

    # 創(chuàng)建一個(gè)名為:admin 密碼為:admin 的用戶。insert into mysql.user(Host,User,Password) values("localhost","admin",password("admin"));# 刷新權(quán)限flush privileges;# 賦予admin用戶所有權(quán)限GRANT ALL ON *.* TO 'admin'@'localhost';# 刪除用戶及所有權(quán)限DROP USER account;
    • ~/.zshrc中設(shè)置alias

    alias db='sudo service mysql start'
    • 注意:mariaDB需要手動創(chuàng)建數(shù)據(jù)庫

    • Ubuntu上mariaDB的默認(rèn)字符集為utf8mb4,兼容utf-8,不需要進(jìn)行更改。Centos需要設(shè)置charset。

    第十四步:(僅對本人有效)修改.vimrc,添加molakai主題

    • 復(fù)制配置好的vimrc
      cp /mnt/d/.vimrc ~/.vimrc

    使用舊版的.vimrc后,出現(xiàn)進(jìn)入vim沒有配色的情況。
    這是因?yàn)関undle在vimrc中的配置是filetype off,關(guān)掉即可。
    當(dāng)需要使用vundle的時(shí)候再打開這個(gè)選項(xiàng)。

    • 復(fù)制vim的molokai配色

    mkdir -p ~/.vim/colors && cp /mnt/d/molokai.vim ~/.vim/colors/molokai.vim

    重啟服務(wù),大功告成。

網(wǎng)站首頁   |    關(guān)于我們   |    公司新聞   |    產(chǎn)品方案   |    用戶案例   |    售后服務(wù)   |    合作伙伴   |    人才招聘   |   

友情鏈接: 餐飲加盟

地址:北京市海淀區(qū)    電話:010-     郵箱:@126.com

備案號:冀ICP備2024067069號-3 北京科技有限公司版權(quán)所有