python3.6的venv模塊使用詳解
今天,在在使用 pycharm 的使用,進(jìn)行創(chuàng)建 python的時(shí)候,發(fā)現(xiàn)使用默認(rèn)的創(chuàng)建的選項(xiàng)使用的python 3環(huán)境 。而我系統(tǒng)默認(rèn)的python環(huán)境是 python 2.7 環(huán)境;這就引起了我的興趣。
我打開(kāi)pycharm 的終端,發(fā)現(xiàn):

前面 有個(gè) venv 參數(shù),通過(guò) 調(diào)研了一番我發(fā)現(xiàn):python 的 venv 模塊可以創(chuàng)建一個(gè)獨(dú)立的虛擬的python運(yùn)行環(huán)境,這樣就和系統(tǒng)的python獨(dú)立開(kāi)來(lái)了。而我使用fedora 28的系統(tǒng),默認(rèn)安裝了python2.7 和 python3.6 兩種python環(huán)境。
我們使用 python 內(nèi)置的文檔查看,venv 相關(guān),其描述為:
Help on package venv:
NAME
venv - Virtual environment (venv) package for Python. Based on PEP 405.
我們使用python3 查看 venv 模塊的使用方法:
➜ env pwd
/home/xuyaowen/Desktop/workplace/env
➜ env python3 -m venv -h
usage: venv [-h] [--system-site-packages] [--symlinks | --copies] [--clear]
[--upgrade] [--without-pip] [--prompt PROMPT]
ENV_DIR [ENV_DIR ...]
Creates virtual Python environments in one or more target directories.
positional arguments:
ENV_DIR A directory to create the environment in.
optional arguments:
-h, --help show this help message and exit
--system-site-packages
Give the virtual environment access to the system
site-packages dir.
--symlinks Try to use symlinks rather than copies, when symlinks
are not the default for the platform.
--copies Try to use copies rather than symlinks, even when
symlinks are the default for the platform.
--clear Delete the contents of the environment directory if it
already exists, before environment creation.
--upgrade Upgrade the environment directory to use this version
of Python, assuming Python has been upgraded in-place.
--without-pip Skips installing or upgrading pip in the virtual
environment (pip is bootstrapped by default)
--prompt PROMPT Provides an alternative prompt prefix for this
environment.
Once an environment has been created, you may wish to activate it, e.g. by
sourcing an activate script in its bin directory.
通過(guò)上面的介紹,我們大致知道 venv 的模塊使用方法:
首先我們創(chuàng)建虛擬環(huán)境:
➜ venvtest pwd /home/xuyaowen/Desktop/workplace/venvtest ➜ venvtest python3 -m venv .
我們查看創(chuàng)建的結(jié)果:
➜ venvtest ls bin include lib lib64 pyvenv.cfg ➜ venvtest ll * lrwxrwxrwx. 1 xuyaowen xuyaowen 3 Jul 27 11:44 lib64 -> lib -rw-r--r--. 1 xuyaowen xuyaowen 69 Jul 27 11:44 pyvenv.cfg bin: total 32K -rw-r--r--. 1 xuyaowen xuyaowen 2.2K Jul 27 11:44 activate -rw-r--r--. 1 xuyaowen xuyaowen 1.3K Jul 27 11:44 activate.csh -rw-r--r--. 1 xuyaowen xuyaowen 2.4K Jul 27 11:44 activate.fish -rwxr-xr-x. 1 xuyaowen xuyaowen 271 Jul 27 11:44 easy_install -rwxr-xr-x. 1 xuyaowen xuyaowen 271 Jul 27 11:44 easy_install-3.6 -rwxr-xr-x. 1 xuyaowen xuyaowen 243 Jul 27 11:44 pip -rwxr-xr-x. 1 xuyaowen xuyaowen 243 Jul 27 11:44 pip3 -rwxr-xr-x. 1 xuyaowen xuyaowen 243 Jul 27 11:44 pip3.6 lrwxrwxrwx. 1 xuyaowen xuyaowen 7 Jul 27 11:44 python -> python3 lrwxrwxrwx. 1 xuyaowen xuyaowen 16 Jul 27 11:44 python3 -> /usr/bin/python3 include: total 0 lib: total 4.0K drwxr-xr-x. 3 xuyaowen xuyaowen 4.0K Jul 27 11:44 python3.6
我們當(dāng)前 產(chǎn)生了很多虛擬環(huán)境相關(guān)的文件:
../venvtest ├── bin │ ├── activate 用來(lái)激活虛擬環(huán)境 │ ├── activate.csh │ ├── activate.fish │ ├── easy_install │ ├── easy_install-3.6 │ ├── pip │ ├── pip3 │ ├── pip3.6 │ ├── python -> python3 │ └── python3 -> /usr/bin/python3 ├── include ├── lib │ └── python3.6 │ └── site-packages ├── lib64 -> lib └── pyvenv.cfg
默認(rèn)情況下,是創(chuàng)建 一個(gè)全新的python執(zhí)行環(huán)境,并包含pip命令,當(dāng)你激活虛擬環(huán)境后,我們可以 使用 pip 安裝我們需要的第三方包并且新安裝的包不在系統(tǒng)中出現(xiàn)。下面我們進(jìn)行激活環(huán)境:
➜ venvtest source ./bin/activate (venvtest) ➜ venvtest
前面出現(xiàn) 虛擬環(huán)境的名稱,說(shuō)明我們環(huán)境激活成功,這時(shí)候我們?cè)龠M(jìn)行運(yùn)行python :
(venvtest) ➜ venvtest python -V Python 3.6.5
可以發(fā)現(xiàn),此時(shí)我們的python的環(huán)境為 3.6.5, 虛擬環(huán)境運(yùn)行成功。當(dāng)然你也可以在創(chuàng)建虛擬環(huán)境的時(shí)候使用--system-site-packages選項(xiàng),來(lái)讓虛擬環(huán)境使用系統(tǒng)的已經(jīng)安裝的包。
我們進(jìn)一步閱讀 activate 腳本:
(venvtest) ➜ bin cat activate | head -n 2 # This file must be used with "source bin/activate" *from bash* # you cannot run it directly
你會(huì)發(fā)現(xiàn),它前兩行說(shuō)明,你只能使用 source 命令來(lái)激活它。
好了,到這里大致會(huì)使用 venv 模塊了。希望你使用愉快。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- Python 虛擬環(huán)境venv詳解
- Python虛擬環(huán)境venv用法詳解
- python虛擬環(huán)境模塊venv使用及示例
- Python3 venv搭建輕量級(jí)虛擬環(huán)境的步驟(圖文)
- python3利用venv配置虛擬環(huán)境及過(guò)程中的小問(wèn)題小結(jié)
- 解決virtualenv -p python3 venv報(bào)錯(cuò)的問(wèn)題
- Python venv虛擬環(huán)境配置過(guò)程解析
- 淺談關(guān)于Python3中venv虛擬環(huán)境
- Python虛擬環(huán)境venv的使用方法
- 使用venv重建python虛擬環(huán)境的步驟實(shí)現(xiàn)
相關(guān)文章
python基礎(chǔ)教程之?dāng)?shù)字處理(math)模塊詳解
這篇文章主要介紹了pythonr的數(shù)字處理模塊知識(shí)(math),需要的朋友可以參考下2014-03-03
python shutil.move移動(dòng)文件或目錄方式
`shutil.move()`函數(shù)可以移動(dòng)文件或目錄,移動(dòng)目錄時(shí),如果目標(biāo)目錄不存在,會(huì)創(chuàng)建該目錄并將源目錄內(nèi)容移動(dòng)到新目錄;如果目標(biāo)目錄存在,則將源目錄移動(dòng)到目標(biāo)目錄下,移動(dòng)文件時(shí),如果目標(biāo)路徑是目錄,則將文件移動(dòng)到該目錄下并重命名2024-12-12
Python爬蟲(chóng)進(jìn)階之Beautiful Soup庫(kù)詳解
這篇文章主要介紹了Python爬蟲(chóng)進(jìn)階之Beautiful Soup庫(kù)詳解,文中有非常詳細(xì)的代碼示例,對(duì)正在學(xué)習(xí)python爬蟲(chóng)的小伙伴們有非常好的幫助,需要的朋友可以參考下2021-04-04
詳解Python結(jié)合Genetic?Algorithm算法破解網(wǎng)易易盾拼圖驗(yàn)證
很多網(wǎng)站在登錄或者注冊(cè)時(shí)都會(huì)遇到拼圖驗(yàn)證碼,這種拼圖驗(yàn)證碼實(shí)際上是多個(gè)小碎片經(jīng)過(guò)重新組合成的一張整體。本文將和大家分享一個(gè)基于Python?Genetic?Algorithm的破解拼圖驗(yàn)證碼的辦法,需要的可以參考一下2022-02-02
Python+OpenCV實(shí)現(xiàn)角度測(cè)量的示例代碼
本文介紹如何使用python語(yǔ)言實(shí)現(xiàn)角度測(cè)量,程序包括鼠標(biāo)選點(diǎn)、直線斜率計(jì)算、角度計(jì)算三個(gè)子程序和一個(gè)主程序,感興趣的可以了解一下2022-03-03
Python位移操作和位運(yùn)算的實(shí)現(xiàn)示例
本文主要介紹了Python位移操作和位運(yùn)算的實(shí)現(xiàn)示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2025-04-04
Python實(shí)現(xiàn)將16進(jìn)制字符串轉(zhuǎn)化為ascii字符的方法分析
這篇文章主要介紹了Python實(shí)現(xiàn)將16進(jìn)制字符串轉(zhuǎn)化為ascii字符的方法,結(jié)合實(shí)例形式分析了Python 16進(jìn)制字符串轉(zhuǎn)換為ascii字符的實(shí)現(xiàn)方法與相關(guān)注意事項(xiàng),需要的朋友可以參考下2017-07-07

