2023年1月21日 星期六

Python Django框架(2) - 虛擬環境(virtualenv\virtualenvwrapper)

前言

    virtualenv是一個創建隔絕的Python環境的工具。virtualenv創建一個包含所有必要的可執行文件的文件夾,用來使用Python工程所需的包。
  • 一個操作系統下,可以有多個“操作系統級別的”Python解釋器
  • 每個Python解釋器有一個指向自己的pip工具,兩者一一對應
  • 通過virtualenv可以虛擬任何一個“操作系統級別的”Python解釋器成為一個“虛擬級別”的解釋器
  • 每個“虛擬級別”的解釋器又擁有自己獨立的pip工具和site-packages
    Virtaulenvwrapper是virtualenv的擴展包,用於更方便管理虛擬環境。
    virtualenvwrapper提供了一系列命令使得和虛擬環境工作變得便利。它把你所有的虛擬環境都放在一個地方。
  • 將所有虛擬環境整合在一個目錄下
  • 管理(新增,刪除,複製)虛擬環境
  • 快速切換虛擬環境

安裝virtualenv


	
    # 通过pip安装virtualenv
    pip install virtualenv
    
    # 測試
    virtualenv --version
    virtualenv 20.17.1 from C:\Python\Python311\Lib\site-packages\virtualenv\__init__.py
    


安裝virtualenvwrapper


	
    pip install virtualenvwrapper-win  # Windows使用该命令
    



設定虛擬環境(env)路徑

    預設路徑在 計算機 -- C盤 -- 用戶 -- 用戶名 -- Envs。
    Windwos到環境變量設定WORKON_HOME,之後創建的都會到這個目錄下。
    
    在 我的電腦->右鍵->屬性->高級系統設置->環境變量->系統變量 中添加 WORKON_HOME,設置為新路徑。





使用virtualenvwrapper

	
# 創建虛擬環境 # mkvirtualenv 虛擬環境名 # 當有多個python時,最好使用--python
mkvirtualenv --python=C:\Python\Python310\python.exe py310_P20230122_django 
	
	
    workon # 查看所有虛擬環境
    
	
    C:\Users\Admin> workon py310_P20230120_django # 切換虛擬環境
    (py310_P20230120_django) C:\Users\Admin> 
    
	
    deactivate # 退出虛擬環境
    
	
    rmvirtualenv py310_P20230120_django # 刪除虛擬環境
    
	
    pip list # 查看當前環境安裝的套件
    
	
    pip freeze > requirements.txt # 導出已安裝套件
    
	
    pip install -r ./requirements.txt # 安裝遷移套件
    


參考





使用Prism.js在Blogger插入程式碼

HTML
	
	
    	
        <pre data-language="html" data-prismjs-copy-error="複製失敗" data-prismjs-copy-success="複製成功" data-prismjs-copy="複製">  
            <code class="language-html line-numbers">              
              <h1>Test</h1>
              	<p>Example</p>
            </code>
        </pre>
        
    

效果
  
            
              
              <h1>Test</h1>
              	<p>Example</p>
              
            
        

其他語言
	
      
<pre data-language="python" data-prismjs-copy-error="複製失敗" data-prismjs-copy-success="複製成功" data-prismjs-copy="複製">    <code class="language-python line-numbers">
    from django.http import HttpResponse
    from django.shortcuts import render
    from .models import UserInfo, StuInfo

    # Create your views here.
    def home(request):
        return render(request, "home.html")
    </code>
</pre>
		
    
效果
    
    from django.http import HttpResponse
    from django.shortcuts import render
    from .models import UserInfo, StuInfo

    # Create your views here.
    def home(request):
        return render(request, "home.html")
    

命令提示字元
	
      
<pre class="command-line" data-prompt="PS C:\Users\Admin>" data-output="2-19">
	<code class="language-bash">
    	dir


    Directory: C:\Users\Chris


Mode                LastWriteTime     Length Name
----                -------------     ------ ----
d-r--        10/14/2015   5:06 PM            Contacts
d-r--        12/12/2015   1:47 PM            Desktop
d-r--         11/4/2015   7:59 PM            Documents
d-r--        10/14/2015   5:06 PM            Downloads
d-r--        10/14/2015   5:06 PM            Favorites
d-r--        10/14/2015   5:06 PM            Links
d-r--        10/14/2015   5:06 PM            Music
d-r--        10/14/2015   5:06 PM            Pictures
d-r--        10/14/2015   5:06 PM            Saved Games
d-r--        10/14/2015   5:06 PM            Searches
d-r--        10/14/2015   5:06 PM            Videos
    </code>
</pre>
		
    

效果
	
    	dir


    Directory: C:\Users\Chris


Mode                LastWriteTime     Length Name
----                -------------     ------ ----
d-r--        10/14/2015   5:06 PM            Contacts
d-r--        12/12/2015   1:47 PM            Desktop
d-r--         11/4/2015   7:59 PM            Documents
d-r--        10/14/2015   5:06 PM            Downloads
d-r--        10/14/2015   5:06 PM            Favorites
d-r--        10/14/2015   5:06 PM            Links
d-r--        10/14/2015   5:06 PM            Music
d-r--        10/14/2015   5:06 PM            Pictures
d-r--        10/14/2015   5:06 PM            Saved Games
d-r--        10/14/2015   5:06 PM            Searches
d-r--        10/14/2015   5:06 PM            Videos
    

安裝教學