日志

python 虚拟环境配置

 来源    2019-10-09    1  

刚学习 python 的同学经常会遇到一个问题: 已经安装了特定的包或者第三库,但是 pycharm 总是提示没有找到。

比如我已经有 ddt 了,可运行脚本的时候却告诉我没有这个模块:

Traceback (most recent call last):
  File "d1.py", line 8, in <module>
    import ddt
ModuleNotFoundError: No module named 'ddt'

出现这种问题,你需要去检查一下你实际使用的 python 环境和你正在配置的环境是否是同一个,因为 python 里经常会遇到叫虚拟环境的玩意,可能你在不经意的瞬间已经创建了一个虚拟环境。

虚拟环境的好处

虚拟环境是一个将不同项目所需求的依赖分别放在独立的地方的一个工具。你可以大致理解成他是我们安装的 python.exe 的一份拷贝,这份拷贝独立维护了每一个项目所需要的工具和库。

比如我们有 2 个项目 yuz1 和 yuz2 。 yuz1 需要安装 ddt 的 1.2.1 版本。 yuz2 是一个很老的项目,他需要 ddt 的 1.1.2 版本,不能升级到 1.2.1。

所以在 python 当中,我们需要维护 2 套依赖库的环境,当我要运行 yuz1, 就用环境1, 当我要运行 yuz2,就是用环境2。

新建项目创建虚拟环境

从Python 3.5以后,python 可以非常方便的创建虚拟环境。直接命令行创建:

python3 -m venv venv_name(这个是环境名字)

在当前工作目录中找到 venv_name 文件夹。在 venv_name 文件夹中,您将找到一个Scripts 文件夹,在这里你可以激活你的虚拟环境。

1, 激活虚拟环境。

在当前目录下,使用 cmd 运行 activate:

C:\projects\study_venv>: venv_name\Scripts\activate

激活后会看看到路径前面多了一个括号:

(venv_name) C:\projects\study_venv>

2, 退出虚拟环境:

(venv_name) C:\projects\study_venv> venv_name\Scripts\deactivate.bat

退出环境以后,括号会消失,我们又回到了系统的 python 环境当中。

3,虚拟环境当中的 python.exe

虚拟环境当中的 python.exe 和系统的 python.exe 没有什么区别,如果想要通过虚拟环境去运行对应的 python 文件,加上绝对路径就可以直接运行,不需要 activate 激活, 这个在项目部署的时候非常有用,直接添加到 .sh 文件当中:

C:\projects\study_venv\venv_name\Scripts\python.exe demo.py

pycharm 配置虚拟环境

虚拟环境的创建和关联可以通过命令行实现,但是 pycharm 提供了方便的图形化操作的方式,所以你不会命令行也没有关系。创建项目的时候,提示 new environment, 就可以创建虚拟环境,existing interpreter 里是系统里已经创建了的环境,他包含系统环境和其他已创建的虚拟环境。

如果想单独建立,就选择 new environment; 如果想使用原来已经创建好的,就点击选择就可以了。

比如我们可以通过 … 符号选择上面建立好的 venv_name 这个虚拟环境和项目关联。

已有项目关联虚拟环境

PyCharm -> Preferences 进入 project setting 设置, 查看所有的环境:

点击 + 号,就可以进入环境选择; 如果没有出现在列表中,点击 … 进入路径选择窗口进入对应的目录下选择:

虚拟环境在 python 学习过程中不是必须的,但是如果你的项目很多,你一定会发现你的安装包文件夹已经乱成一锅粥了。赶紧用虚拟环境去整理一下吧。

相关文章
Windows Python虚拟环境配置(Distribute + pip + virtualenv + virtualenvwrapper-powershell)
日志对于Python开发新手,很多人会迷茫那些各种名目的工具和概念,如Python2.7, Python3.3, Distribute, pip, virtualenv,Setuptools, easy_ ...
mac环境下Python虚拟环境的安装和配置
日志虚拟环境(virtualenv) 安装:在终端输入 pip install virtualenv 如果没安装pip会出现 pip: command not found,此时需要进行 sudo easy ...
Ubuntu中配置Python虚拟环境Virtualenv
日志Ubuntu版本为18.04 Virtualenv介绍 在开发Python应用程序的时候,系统安装的Python3只有一个版本:3.4.所有第三方的包都会被pip安装到Python3的site-pac ...
配置python虚拟环境Virtualenv及pyenv
日志pyenv pyenv 可以让机器安装各种不同版本的python pyenv install --list 查看可以安装的python版本 pyenv versions 查看已安装的python版本 ...
[Python]conda与 virtualenv虚拟环境配置
日志参考: Anaconda使用总结 Anacodna之conda与 virtualenv对比使用教程,创建虚拟环境 conda设置Python虚拟环境 python的virtualenv环境与使用  有 ...
Linux虚拟环境配置(安装python包,连接至jupyter notebook)
日志在Linux虚拟环境下安装python包 方法一:使用下载包 由于实验室下载速度较慢,因此采用传输下载包的形式安装包. 首先导入python包至指定文件夹(任意文件夹,记住地址即可)并解压. 进入虚拟 ...
mac 下 python 虚拟环境的安装和配置
日志    前言:继续安装中,这节记录 mac 安装 python 虚拟环境,多版本共存... 1. 安装 pip -- python的包管理工具: sudo easy_install pip 安装成功, ...
Python虚拟环境的安装和配置-virtualenv与windows下多个python版本共存
日志Python虚拟环境的安装和配置-virtualenv与windows下多个python版本共存 windows下多个python版本共存  https://www.python.org/downlo ...
pyenv 配置python虚拟环境
日志安装pyenv环境 yum -y install git yum install gcc make patch gdbm-devel openssl-devel sqlite-devel readli ...
配置Python虚拟环境
日志最小化安装的centos7中并没有安装python3 1.安装python3 1 )安装运行库  yum -y install zlib-devel bzip2-devel openssl-devel ...
centos下python安装与虚拟环境配置
日志Centos7下安装Python3.7 首先安装依赖包,centos里面是-devel,如果在ubuntu下安装则要改成-dev,依赖包缺一不可,笔者曾安装python3未成功就是因为没有安装libf ...
Python小世界:项目虚拟环境配置的N种方法
日志前言 和其他大多数现代编程语言一样,Python对包和 模块的下载.存储以及管理有其自己的一套方法.但是当我们同时开发多个项目工程的时候,不同的项目会将第三方的包存放在相同的路径下.这就意味着,如果有 ...
Python虚拟环境的配置
日志Python中,配置虚拟环境主要是为了防止版本之间的冲突,我是这么理解的: 1.用虚拟环境可以在一个电脑中使用多个Python解释器以及扩展: 2.可以方便的在同一台电脑中使用多个版本的代码. 虚拟环 ...
使用Salt的virtualenv.managed或pip.installed设置python虚拟环境?
问答我正在尝试使用pip.installed或virtualenv.managed状态来使用生活在minion上的需求文件(由早期的git.latest状态安装)来设置virtualenv.这是使用pip ...
python-2.7 – 无法在python虚拟环境中导入runpy模块
问答在尝试使用bash / activate在虚拟环境中运行内存分析器(https://pypi.python.org/pypi/memory_profiler)时,我无法运行任何默认测试代码 pytho ...
python – 如何配置变暖请求以避免应用程序日志中的错误404?
问答我已经启用了Warming Requests到我的应用程序,在app.yaml中添加了以下指令. inbound_services: - warmup 查看应用程序的日志,我看到了几种这样的条目: 1 ...
通过SSH为远程Python解释器配置Visual Studio代码
问答我有一个带有ArchLinux和Python的Vagrant盒子,它使用每个项目的虚拟环境(通过使用某个Python版本).我希望配置VSC来运行/调试这些Python项目.我已经挂载了包含我的项目的 ...
python – 如何配置我的uWsgi服务器来防止不可读的Post错误?
问答这就是问题: File "/app/.heroku/python/lib/python2.7/site-packages/django/utils/six.py", line 53 ...
python – 如何配置Airflow dag在每天的特定时间运行?
问答如何将Airflow dag配置为每天在指定时间执行,无论发生什么,都像crons一样. 我知道使用TimeSensor可以获得类似的行为,但在这种情况下,它取决于传感器任务,并且可能与dag执行时间 ...