搭建Python虚拟环境

  • 虚拟环境
    • 概述
    • virtualenv
    • 安装虚拟环境
      • Windows环境下
      • Linux环境下
    • 创建虚拟环境
    • 使用虚拟环境
    • 虚拟机环境下安装包
    • PyCharm中使用虚拟环境

虚拟环境

概述

为什么需要搭建Python的虚拟环境?

正常情况下,在一台电脑上, 想开发多个不同的项目, 需要用到同一个包的不同版本, 如果使用pip install 包名称pip install 包名称==版本号命令, 在同一个目录下安装或者更新, 新版本会覆盖以前的版本, 就会导致其它的项目就无法运行

虚拟环境的优点:

  1. 虚拟环境可以搭建独立的python运行环境, 使单个项目的运行环境与其它项目互不影响。

  2. 虚拟环境中的安装的第三方依赖包和全局环境中的包相互独立。

  3. 虚拟环境能防止出现包管理混乱和版本冲突。

  4. 虚拟环境不会影响全局的python环境。

virtualenv

virtualenv是一个 Python 应用程序,它可以创建独立的Python环境,每个环境有自己的Python解释器和Python包。

使用virtualenv可以避免在同一系统上的多个应用程序之间发生冲突,并使开发人员能够更轻松地管理他们的应用程序所依赖的Python包。

virtualenv常用命令说明

创建虚拟环境:

# 在当前目录下创建一个名为 myenv 的虚拟环境virtualenv myenv

激活虚拟环境 (Windows):

# 激活后,终端前会显示 (myenv) 字样,说明已处于虚拟环境中myenv\Scripts\activate.bat

激活虚拟环境 (Linux/MacOS):

source myenv/bin/activate

退出虚拟环境:

deactivate

virtualenvwrappervirtualenv的扩展,它是一组Shell脚本,提供了更便捷的方式来创建、删除、复制和切换Virtualenvs。

它的目标是让用户能够更快地使用virtualenv,同时还提供了其他有用的功能,如在终端中列出所有的虚拟Python环境、自动切换到虚拟环境等。

安装虚拟环境

Windows环境下

执行如下命令安装虚拟环境

pip install virtualenvpip install virtualenvwrapper-win

配置虚拟环境目录

如在D:\Development\Python\目录下创建env目录用于存放虚拟环境,然后在配置环境变量

WORKON_HOMED:\Development\Python\env

Linux环境下

执行如下命令安装虚拟环境

pip install virtualenvpip install virtualenvwrapper

注意:

在执行pip3 install virtualenvwrapper命令安装virtualenvwrapper时可能失败,具体异常如下:

[root@administrator ~]# pip3 install virtualenvwrapper
Looking in indexes: https://pypi.douban.com/simple/
Collecting virtualenvwrapperUsing cached https://pypi.doubanio.com/packages/c1/6b/2f05d73b2d2f2410b48b90d3783a0034c26afa534a4a95ad5f1178d61191/virtualenvwrapper-4.8.4.tar.gz (334 kB)Preparing metadata (setup.py) ... errorerror: subprocess-exited-with-error× python setup.py egg_info did not run successfully.│ exit code: 1╰─> [43 lines of output]/usr/local/python3/lib/python3.9/site-packages/setuptools/dist.py:717: UserWarning: Usage of dash-separated 'index-url' will not be supported in future versions. Please use the underscore name 'index_url' insteadwarnings.warn(/usr/local/python3/lib/python3.9/site-packages/setuptools/dist.py:717: UserWarning: Usage of dash-separated 'author-email' will not be supported in future versions. Please use the underscore name 'author_email' insteadwarnings.warn(/usr/local/python3/lib/python3.9/site-packages/setuptools/dist.py:717: UserWarning: Usage of dash-separated 'description-file' will not be supported in future versions. Please use the underscore name 'description_file' insteadwarnings.warn(/usr/local/python3/lib/python3.9/site-packages/setuptools/dist.py:717: UserWarning: Usage of dash-separated 'home-page' will not be supported in future versions. Please use the underscore name 'home_page' insteadwarnings.warn(WARNING: The wheel package is not available.WARNING: The repository located at mirrors.cloud.aliyuncs.com is not a trusted or secure host and is being ignored. If this repository is available via HTTPS we recommend you use HTTPS instead, otherwise you may silence this warning and allow it anyway with '--trusted-host mirrors.cloud.aliyuncs.com'.ERROR: Could not find a version that satisfies the requirement pbr (from versions: none)ERROR: No matching distribution found for pbrTraceback (most recent call last):File "/usr/local/python3/lib/python3.9/site-packages/setuptools/installer.py", line 75, in fetch_build_eggsubprocess.check_call(cmd)File "/usr/local/python3/lib/python3.9/subprocess.py", line 373, in check_callraise CalledProcessError(retcode, cmd)subprocess.CalledProcessError: Command '['/usr/bin/python3', '-m', 'pip', '--disable-pip-version-check', 'wheel', '--no-deps', '-w', '/tmp/tmp4jxzlf_y', '--quiet', '--index-url', 'http://mirrors.cloud.aliyuncs.com/pypi/simple/', 'pbr']' returned non-zero exit status 1.The above exception was the direct cause of the following exception:Traceback (most recent call last):File "<string>", line 2, in <module>File "<pip-setuptools-caller>", line 34, in <module>File "/tmp/pip-install-hjtmzrft/virtualenvwrapper_836b613d97fe4215bcf97055355c9885/setup.py", line 5, in <module>setup(File "/usr/local/python3/lib/python3.9/site-packages/setuptools/__init__.py", line 152, in setup_install_setup_requires(attrs)File "/usr/local/python3/lib/python3.9/site-packages/setuptools/__init__.py", line 147, in _install_setup_requiresdist.fetch_build_eggs(dist.setup_requires)File "/usr/local/python3/lib/python3.9/site-packages/setuptools/dist.py", line 806, in fetch_build_eggsresolved_dists = pkg_resources.working_set.resolve(File "/usr/local/python3/lib/python3.9/site-packages/pkg_resources/__init__.py", line 766, in resolvedist = best[req.key] = env.best_match(File "/usr/local/python3/lib/python3.9/site-packages/pkg_resources/__init__.py", line 1051, in best_matchreturn self.obtain(req, installer)File "/usr/local/python3/lib/python3.9/site-packages/pkg_resources/__init__.py", line 1063, in obtainreturn installer(requirement)File "/usr/local/python3/lib/python3.9/site-packages/setuptools/dist.py", line 877, in fetch_build_eggreturn fetch_build_egg(self, req)File "/usr/local/python3/lib/python3.9/site-packages/setuptools/installer.py", line 77, in fetch_build_eggraise DistutilsError(str(e)) from edistutils.errors.DistutilsError: Command '['/usr/bin/python3', '-m', 'pip', '--disable-pip-version-check', 'wheel', '--no-deps', '-w', '/tmp/tmp4jxzlf_y', '--quiet', '--index-url', 'http://mirrors.cloud.aliyuncs.com/pypi/simple/', 'pbr']' returned non-zero exit status 1.[end of output]note: This error originates from a subprocess, and is likely not a problem with pip.
error: metadata-generation-failed× Encountered error while generating package metadata.
╰─> See above for output.note: This is an issue with the package mentioned above, not pip.
hint: See above for details.[notice] A new release of pip is available: 23.0.1 -> 23.1.2
[notice] To update, run: python3 -m pip install --upgrade pip

原因:

缺少相关的依赖:virtualenvwrapper需要一些系统库来正常工作,例如python-devel、gcc等。

使用以下命令安装所有必需的系统库:

sudo yum install python3-devel gcc

在安装依赖库后,执行pip3可能如下如下异常:

[root@administrator ~]# pip3 -V
Traceback (most recent call last):File "/usr/local/bin/pip3", line 5, in <module>from pip._internal.cli.main import main
ModuleNotFoundError: No module named 'pip._internal'

根据提示,修改/usr/local/bin/pip3文件

#!/usr/bin/python3
# -*- coding: utf-8 -*-
import re
import sys
from pip import main # 修改这行,原来:from pip._internal import main
if __name__ == '__main__':sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0])sys.exit(main())

接着执行pip3 -V验证哈,没问题继续安装,看到出现如下进度条,就没问题了

[root@administrator ~]# pip3 install virtualenvwrapper
WARNING: Running pip install with root privileges is generally not a good idea. Try `pip3 install --user` instead.
Collecting virtualenvwrapperCache entry deserialization failed, entry ignoredCache entry deserialization failed, entry ignoredDownloading https://pypi.doubanio.com/packages/c1/6b/2f05d73b2d2f2410b48b90d3783a0034c26afa534a4a95ad5f1178d61191/virtualenvwrapper-4.8.4.tar.gz (334kB)100% |████████████████████████████████| 337kB 2.0MB/s
Collecting virtualenv (from virtualenvwrapper)Cache entry deserialization failed, entry ignoredDownloading https://pypi.doubanio.com/packages/18/a2/7931d40ecb02b5236a34ac53770f2f6931e3082b7a7dafe915d892d749d6/virtualenv-20.17.1-py3-none-any.whl (8.8MB)100% |████████████████████████████████| 8.9MB 150kB/s 

注意:

若安装完虚拟环境后,提示找不到mkvirtualenv命令,就必须配置环境变量

创建目录用来存放虚拟环境

mkdir $HOME/.virtualenvs

打开~/.bashrc文件,添加环境变量信息

export WORKON_HOME=$HOME/.virtualenvssource /usr/local/bin/virtualenvwrapper.sh

使配置生效

source ~/.bashrc

执行source ~/.bashrc命令时,可能出现如下异常:

[root@administrator ~]# source ~/.bashrc
/usr/bin/python: No module named virtualenvwrapper
virtualenvwrapper.sh: There was a problem running the initialization hooks.If Python could not import the module virtualenvwrapper.hook_loader,
check that virtualenvwrapper has been installed for
VIRTUALENVWRAPPER_PYTHON=/usr/bin/python and that PATH is
set properly.

打开~/.bashrc文件,添加环境变量,指定virtualenvwrapper使用python3

export WORKON_HOME=$HOME/.virtualenvsexport VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3source /usr/local/bin/virtualenvwrapper.sh

创建虚拟环境

如果不指定python版本,默认安装的是python2的虚拟环境

python2中创建虚拟环境

mkvirtualenv 虚拟环境名称

在python3中创建虚拟环境

mkvirtualenv -p python3 虚拟环境名称

创建成功之后,默认会自动进入到虚拟环境

C:\Users\JackChen>mkvirtualenv -p python3 py3
created virtual environment CPython3.9.5.final.0-64 in 3711mscreator CPython3Windows(dest=D:\Development\Python\env\py3, clear=False, no_vcs_ignore=False, global=False)seeder FromAppData(download=False, pip=bundle, setuptools=bundle, wheel=bundle, via=copy, app_data_dir=C:\Users\JackChen\AppData\Local\pypa\virtualenv)added seed packages: pip==22.3.1, setuptools==65.6.3, wheel==0.38.4activators BashActivator,BatchActivator,FishActivator,NushellActivator,PowerShellActivator,PythonActivator(py3) C:\Users\JackChen>

使用虚拟环境

查看虚拟环境

(py3) C:\Users\JackChen>workonPass a name to activate one of the following virtualenvs:
==============================================================================
demo
py3

使用虚拟环境

workon  虚拟环境名称
(py3) C:\Users\JackChen>workon demo
(demo) C:\Users\JackChen>

退出虚拟环境

deactivate

删除虚拟环境

注意:不能删除正在使用的虚拟环境,需要退出/切换其他虚拟环境后才可以删除

rmvirtualenv 虚拟环境名称

虚拟机环境下安装包

在虚拟环境中安装包

pip install 包名称

查看虚拟环境中安装的包

pip list

在虚拟环境中卸载包

pip uninstall 包名称

PyCharm中使用虚拟环境

在PyCharm中如何使用创建的虚拟环境呢?

首先找到pycharm的设置选项,选择虚拟环境


若没有响应虚拟环境,则需要添加虚拟环境

搭建Python虚拟环境相关推荐

  1. 在公共服务器上搭建python虚拟环境

    在公共服务器上搭建python虚拟环境 如果想在公共服务器(不止一个人用)上搭建自己的python环境应该怎么办? 用Anaconda和conda命令,先确保服务器上安装了Anaconda.安装Ana ...

  2. windows 搭建python 虚拟环境 写程序_Windows下搭建Python虚拟环境

    1.进入你想要创建python虚拟环境的目录下 2.使用pip工具安装virtualenv软件包 pip install virtualenv 3.使用virtualenv命令创建一个名字为newen ...

  3. Virtualenv系列(一):使用Virtualenv搭建python虚拟环境

    官方指导文档:https://virtualenv.pypa.io/en/latest/index.html virtualenv使用目的 为了防止安装过多的第三方包污染自己的开发环境, python ...

  4. windows 搭建python 虚拟环境 写程序_Sublime下配置python编译环境及搭建虚拟环境:(windows下大致相同)...

    1.编译环境配置import urllib.request,os,hashlib; h = '6f4c264a24d933ce70df5dedcf1dcaee' + 'ebe013ee18cced0e ...

  5. python虚拟环境 windows环境搭建_windows 下搭建python虚拟环境(示例代码)

    ################################### windows 下测试环境 C:\Users\wongg\django-cmdb>cd ..\cmdb ##下载get-p ...

  6. windows 下搭建python虚拟环境

    ################################### windows 下测试环境 C:\Users\wongg\django-cmdb>cd ..\cmdb ##下载get-p ...

  7. CentOS7下python虚拟环境

    搭建python虚拟环境 1.我们先创建一个隐藏目录 .virtualenvs,所有的虚拟环境都放在此目录下 :mkdir /root/.virtualenvs 2.安装虚拟环境 确认pip:wher ...

  8. Python虚拟环境的搭建

    一.问题:为什么要搭建虚拟环境 在开发过程中,当需要使用python的某些工具包/框架时需要联网安装.比如联网安装Flask框架flask-0.10.1版本 sudo pip install flas ...

  9. mac python虚拟环境搭建教程

    搭建环境 mac下配置python虚拟环境 安装python虚拟环境核心目的就是为了复制一个python环境,这样新项目下载的所有包,都会存放在虚拟环境下的python site-package 中 ...

最新文章

  1. 2018谷歌学术指数发布——看看综合、生物、生信、微生物领域高引文章和杂志
  2. matlab中添加0向量,如何把在matlab中把a=0:0.1:pi变成列向量啊?
  3. Windows 7 SP1确实将有性能改进
  4. LeetCode OJ - Reorder List
  5. matmul torch 详解_python基础教程详解torch.Tensor的4种乘法
  6. 颜晖c语言设计答案,c语言程序设计 (何钦铭 颜晖 著)课后习题答案
  7. 谷歌有望回归中国市场
  8. 什么是JSX、是如何使用以及注意事项
  9. 最新阿里巴巴社招面试经历(Java工程师)
  10. C++链表偶数在前,奇数在后的简单方法
  11. 学好mysql教材_MySQL基础学习
  12. java中flist cannot_关于usr/bin/ld: cannot find -lxxx问题总结
  13. JTAG (三) jtag实例 riscv
  14. ubuntu16.04中安装Kdevelop和使用技巧
  15. EXCEL VBA基础:通过创建模块完成简单SUB过程
  16. 股神巴菲特忠告中国股民:学会这几点,你离短线炒股的成功就不远了!
  17. 三本计算机怎么调音乐,读三本音乐教材
  18. 数据可视化学习之大屏学习
  19. jvm常用参数 对jdk7 jdk8
  20. 第七届河南省赛部分题

热门文章

  1. 陕西科技大学计算机专业课表,陕西科技大学教务管理系统入口:http://jwc.www.sust.edu.cn/...
  2. 5G基站供配电勘察设计思路的调整分析
  3. 针对异常java.lang.IllegalStateException onMeasure() did not set the measured dimension解决方法
  4. NGK韩国峰会完美落幕,共议区块链生态新发展
  5. 反射是什么?反射的常用方法
  6. 从国土空间规划到智慧城市
  7. 数字化技术加速人才转型 附下载
  8. 普通青年VS文艺青年VS2B青年,爆笑语录!
  9. Mitaka正式发布 盘点OpenStack中国贡献
  10. php%3e%3etxt_《3e迅雷》_3e迅雷最新版下载