virtualenv備忘

為什么用virtualenv

通過(guò)virtualenv配置一個(gè)虛擬環(huán)境,這樣在這個(gè)環(huán)境中安裝的任何內(nèi)容不會(huì)對(duì)我系統(tǒng)中的全局Python造成影響,這樣就可以隨便折騰了。

安裝virtualenv

  1. 檢查是否已經(jīng)安裝

virtualenv --version
顯示錯(cuò)誤就是沒(méi)有安裝了。

  1. 安裝virtualenv
  1. Linux(Ubuntu)
    sudo apt-get install python-virtualenv
  2. Mac OS X
    sudo easy_install virtualenv

使用virtualenv

  1. 在指定文件夾(test)下創(chuàng)建Python虛擬環(huán)境

假定已經(jīng)在test目錄下了。
virtualenv venv

虛擬環(huán)境的名字命名為venv
$ sudo virtualenv venv
New python executable in venv/bin/python
Installing setuptools, pip, wheel...done
在test目錄下會(huì)生成一個(gè)venv目錄

  1. 激活虛擬環(huán)境
  1. Linux 和Mac OS X 用戶(hù)

source vent/bin/activate

  1. Windows 用戶(hù)

vent\Scripts\activate
激活虛擬環(huán)境以后,在命令行提示符會(huì)加入環(huán)境的名稱(chēng)

(venv)$

  1. 回到全局Python環(huán)境中

直接在命令行輸入:deactivate

常見(jiàn)問(wèn)題處理

  1. 環(huán)境遷移

    • 問(wèn)題描述:有時(shí)在一個(gè)機(jī)器的虛擬環(huán)境中安裝了一系列模塊,當(dāng)需要換個(gè)機(jī)器時(shí)需要重新安裝對(duì)應(yīng)模塊,這時(shí)可以通過(guò)模塊配置文件來(lái)簡(jiǎn)化安裝過(guò)程。
    • 實(shí)施步驟:
      1. 在已經(jīng)安裝好模塊的機(jī)器上,激活虛擬環(huán)境,輸入pip freeze > requirements.txt,生成配置文件
      2. 拷貝requirement.txt文件到需要安裝模塊的機(jī)器
      3. 在需要安裝模塊的機(jī)器上,激活虛擬環(huán)境,輸入pip install -r requirements.txt ,安裝模塊。
  2. win32模塊的安裝

    • 錯(cuò)誤說(shuō)明:
      如果你的代碼中使用了pywin32模塊,你會(huì)發(fā)現(xiàn)通過(guò)在虛擬環(huán)境下的pip install 安裝或者conda install 來(lái)安裝的pywin32模塊都無(wú)法正常工作,情況類(lèi)似如下

      報(bào)錯(cuò)信息

    • 結(jié)局辦法

      1. 下載pywin32的二進(jìn)制exe安裝包,具體地址:http://sourceforge.net/projects/pywin32/files/pywin32/,做需要注意的問(wèn)題是在下載時(shí)注意選擇你python版本所對(duì)應(yīng)的文件。
      2. 激活虛擬環(huán)境
      3. 在虛擬環(huán)境中輸入 easy_install pywin32-220.win-amd64-py3.5.exe,其中pywin32-220......這個(gè)是你所下載對(duì)應(yīng)的具體版本。
        命令行圖示

        命令行圖示
      命令行圖示,導(dǎo)入模塊成功
  3. Python3環(huán)境下的pyhook3模塊安裝

    • 問(wèn)題說(shuō)明 :通過(guò)http://www.lfd.uci.edu/~gohlke/pythonlibs/下載的pyhook安裝模塊在實(shí)際運(yùn)行中會(huì)報(bào)TypeError: MouseSwitch() missing 8 required positional arguments: 'msg', 'x', 'y', 'data', 'flags',錯(cuò)誤,同時(shí)整個(gè)界面卡得要死。
    • 解決辦法:在pipy上有pyhook3的模塊,需安裝該模塊。
    1. 激活虛擬環(huán)境
    2. pip install pyhook3
    3. 根據(jù)你的虛擬python環(huán)境的不同可能會(huì)需要你手動(dòng)編譯該模塊,如果需要手動(dòng)編譯,請(qǐng)安一下步驟操作
      1. 下載并安裝swig,http://www.swig.org/
      2. 根據(jù)提示安裝Visual C++的編譯包
      3. pip install pyhook3
      4. 注意編譯完成后在虛擬環(huán)境下形成的目錄名的字母大小。在import的時(shí)候要保持一致,保持一致


        2017-09-21_132613.png
  4. pip 豆瓣鏡像的使用
    pip install -U wxpy -i "https://pypi.doubanio.com/simple/"

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 譯者按:原文寫(xiě)于2011年末,雖然文中關(guān)于Python 3的一些說(shuō)法可以說(shuō)已經(jīng)不成立了,但是作為一篇面向從其他語(yǔ)言...
    EarlGrey閱讀 69,857評(píng)論 7 124
  • 學(xué)習(xí) Flask,寫(xiě)完一個(gè) Flask 應(yīng)用需要部署的時(shí)候,就想著折騰自己的服務(wù)器。根據(jù)搜索的教程照做,對(duì)于原理一...
    Cocoa_Coder閱讀 17,350評(píng)論 4 56
  • 引言 在這里我假設(shè)你已經(jīng)看完了一篇Python教程,基本熟悉了Python的結(jié)構(gòu)和語(yǔ)法,在命令行下的Python互...
    Programmer客棧閱讀 65,193評(píng)論 0 17
  • Python為主流開(kāi)發(fā)語(yǔ)言, 用python 開(kāi)發(fā)的程序越來(lái)越多。 方便的是大多l(xiāng)inux系統(tǒng)里面都默認(rèn)集成了py...
    53921f46e0b9閱讀 64,619評(píng)論 3 18
  • 十一月,偶遇 陽(yáng)光偷渡 海風(fēng)正綿 我看見(jiàn)風(fēng) 小心翼翼的手 白鳥(niǎo)、雍容,水塘、悠悠 綴往天空的是它的翅膀 輕輕 我坐...
    瘋界閱讀 358評(píng)論 2 1

友情鏈接更多精彩內(nèi)容