venv

今天正好弄到 virtual environment,顧名思義就是在自己環境裡,另外開一個虛擬環境來處理程式,以免影響到自己原本的環境。

因為 python2 與 python3 在版本上有極度的麻煩程度,不同專案可能需要不同的版本,更別說到還要結合Django、Webpack、SQL…。因此另外建立一個虛擬環境來針對專案,「客製化」專屬的版本環境是比較推薦的行為。

老實說,今天是結合 webpack 的時候遇到大狀況,首先我們專案需要使用py2,我發現自己的虛擬環境裡安裝的是py3,但原本環境則是 py2 與 py3 都有,結果自己也找不到方法在原先的虛擬環境導入 py2。

之前在 runserver 時,可以特地打 python2 來解決這樣的問題,但今天才發現原來虛擬環境根本沒用到 2,這樣會導致在虛擬環境安裝任何 python 套件,都會安裝在 py3 底下,於是我們專案需要用 py2的 python plugin 就爆炸了(當然我可以在原先環境安裝 py2 plugin,但這樣虛擬環境沒意義)。

經過一番檢查,原因出在我的虛擬環境是用 pyvenv 建立的。

pyvenv, pyenv, virtualenv 三者值得好好比較一下,附上解說連結:

Python: pyenv, pyvenv, virtualenv – What’s the difference?

看完就知道我該果斷放棄 pyvenv ,改利用 virtualenv 來建立 py2 版本的虛擬環境。

要使用到 webpack + Django + Python + React,需要安裝許多套件,當多人開發時 npm init 出來的 package.json 很好用,這麼多套件的情況下,最討厭的就是版本問題了要很注意。

廣告

發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com Logo

您的留言將使用 WordPress.com 帳號。 登出 / 變更 )

Twitter picture

您的留言將使用 Twitter 帳號。 登出 / 變更 )

Facebook照片

您的留言將使用 Facebook 帳號。 登出 / 變更 )

Google+ photo

您的留言將使用 Google+ 帳號。 登出 / 變更 )

連結到 %s