今天总算决定来搞一波以前从来没有弄清楚的环境问题,也觉得是时候弄明白了。

这里先说关于python的环境引用,再谈到virtualenv最后再谈论我使用的pycharm5.0关于是用python环境的引用。

由于以前我都是直接使用的本地python环境直接使用pip装的python包,所以基本上包都是全局的装到了python2.76的site_package下面。由于我所有环境默认使用的python interpreter 都是那个解释器,所以也一直没有出过什么问题。 但是随着包越来越多,依赖越来越复杂。我决定专门找个时间来解决这个棘手的问题。

首先就是想到了使用virtualenv来对环境进行隔离。这里介绍一下virtualenv的使用。

首先在全局配置中下载virtualenv。

pip install virtualenv

下载之后在自己需要的环境下面建一个virtualenv环境

virtualenv --no-site-packages laplace -p target_dir

这里要注意看一下virtualenv的参数。使用

virtualenv --help

获得全部参数 这里其实最后几个地方有用 我先贴出参数

  --version             show program's version number and exit
-h, --help show this help message and exit
-v, --verbose Increase verbosity.
-q, --quiet Decrease verbosity.
-p PYTHON_EXE, --python=PYTHON_EXE
The Python interpreter to use, e.g.,
--python=python2. will use the python2. interpreter
to create the new environment. The default is the
interpreter that virtualenv was installed with
(/usr/bin/python)
--clear Clear out the non-root install and start from scratch.
--no-site-packages DEPRECATED. Retained only for backward compatibility.
Not having access to global site-packages is now the
default behavior.
--system-site-packages
Give the virtual environment access to the global
site-packages.
--always-copy Always copy files rather than symlinking.
--unzip-setuptools Unzip Setuptools when installing it.
--relocatable Make an EXISTING virtualenv environment relocatable.
This fixes up scripts and makes all .pth files
relative.
--no-setuptools Do not install setuptools (or pip) in the new
virtualenv.
--no-pip Do not install pip in the new virtualenv.
--no-wheel Do not install wheel in the new virtualenv.
--extra-search-dir=DIR
Directory to look for setuptools/pip distributions in.
This option can be used multiple times.
--never-download DEPRECATED. Retained only for backward compatibility.
This option has no effect. Virtualenv never downloads
pip or setuptools.
--prompt=PROMPT Provides an alternative prompt prefix for this
environment.
--setuptools DEPRECATED. Retained only for backward compatibility.
This option has no effect.
--distribute DEPRECATED. Retained only for backward compatibility.
This option has no effect.

-v -q都是关于打信息的

-p 这个参数非常重要,这里是建立环境的时候你所要使用的python 使用的路径和你要使用的版本指向

--no-site-packages 这个参数虽然已经写着废弃,但是我使用了一下还是能达到正常的效果,就是建立一个纯正的环境里面只包含必须的安装包的pip 工具和pip依赖的easy_install 还有wheel工具 其他的包一概没有。

其他的参数 大家自己去研究吧 让我们继续向下

指定好了环境里面需要使用的python版本,以及安装包所需要的工具,基本上就算是一个完整的环境了。这个时候就可以在这个目录下面打造你自己想要配置的环境了,而且互相之间丝毫不回影响到什么。

这样做的好处:

除了我最开始提到的为了避免包混乱的问题,最好的使用理由就是在不同的环境里面可以使用不同的版本,丝毫不会受到其他的限制。 而且当你在接手一个全新的应用的时候你可能会拿到requirement.txt这个由 pip freeze命令生成的文件。 那么你只需要做的事情就是用virtualenv创建一个环境,然后用pip install -r 安装这个列表里面的相关文件。就能得到一个完整的环境。

最后关于清理环境的问题, 使用环境用得很high 用完了想清理掉。 直接删掉包下面 对应的目录就可以了

rm -rf laplace/

轻松愉悦?

最后提一下我使用的ide pycharm对于virtualenv的兼容。 其实pycharm 5.0的功能一经异常强大,不仅可以兼容virtualenv,也能支持conda。

这里添加已经建立好的环境只需要使用command+, 呼出 pycharm的配置界面,然后找到interpreter 找到自己的项目 project interpreter 设置到自己virtualenv目录下面bin目录下面使用的interpreter就可以了。

创建环境 太简单了就不说了。 下一篇不出意外 我应该会再折腾一个conda的环境。 因为我现在使用的环境似乎依然 不能跑我的项目,但是在测试服务器上却可以。悲剧的是测试服务器使用的是conda。哎。。

一定是哪里没有弄对

相信科学啊

关于virtualenv python环境引用 pycharm相关配置的使用讨论的更多相关文章

  1. Eclipse配置PyDev插件(配置Python环境) 及javascript相关配置

    Eclipse开发Javascript环境配置(含EXTJs配置) 来自:sayo http://www.cnblogs.com/sayo/archive////.html Eclipse开发JQue ...

  2. Vagrant+virtualBox+pycham+python环境的安装及配置

    概要: 通过Vagrant,virtualBox安装配置,把virtualBox虚拟机的linux项目映射windows本地项目中,在windows的pycharm工具中开发用python语言开发项目 ...

  3. virtualenv是什么?virtualenv的安装及pycharm的配置和使用

    virtualenv是什么? virtualenv是一个创建隔绝的Python环境的工具.virtualenv创建一个包含所有必要的可执行文件的文件夹,用来使用Python工程所需的包.简单的说就是一 ...

  4. Python环境安装及编辑器配置(一)

    在2018年决定写一些关于Python的文章,其实写博客这件事在2016年就有了,但是因为个人的一些原因一直被耽搁.所以2018年的目标之一就是写多一点的博客,不管是是生活还是工作.好吧,废话不多说, ...

  5. Windows 10 系统下Python环境的搭建与配置

    1. 在https://www.python.org/downloads/release/python-352/网站上下载python版本 2. 配置环境 右击计算机属性,然后选择高级系统设置 3.  ...

  6. ubuntu在anaconda2下安装anaconda3环境 && 在Pycharm中配置Python3

    适合在已经装有anaconda2环境的机器上配置anaconda3环境(或在有anaconda3的环境下再配置2). 1. 下载 anaconda3 下载地址: 推荐清华镜像      https:/ ...

  7. windows环境下memcache相关配置及PHP加载相应模块(php7版本)

    原文:https://blog.csdn.net/zhangatle/article/details/77504094 亲测安装成功 php 7.0 nts 86 第一步,首先下载windows版本的 ...

  8. 【python】python环境的安装与配置

    安装配置pip / easy_install / virtualenv 在ubuntu 10.10之后的版本中,要这样安装 sudo apt-get install python-pip python ...

  9. python环境与PyDev IDE配置

    工具eclipse:我目前用是的Eclipse oxygen.历史版本可参考:https://wiki.eclipse.org/Older_Versions_Of_EclipsePython:http ...

随机推荐

  1. mysql数据类型介绍(含text,longtext,mediumtext说明)

    转自http://m.blog.csdn.net/sipsir/article/details/12343581 转载,文章原连接已经失效,百度快照找到的. MySQL支持大量的列类型,它可以被分为3 ...

  2. ConcurrentHashMap中的putIfAbsent方法的使用以及返回值的含义

    public V putIfAbsent(@NotNull K key, @NotNull V value) putIfAbsent方法主要是在向ConcurrentHashMap中添加键—值对的时候 ...

  3. 浅淡个人学习嵌入式Linux过程

    我专业是电子信息工程,在初入大学的时候,我们的班主任便要我们多多去了解一些关于电子方面的知识.后来我了解到了嵌入式,继而了解到了嵌入式Linux.其实我们学习linux差不多就学习linux内核,但是 ...

  4. 个人向 - vscode插件记录

    现在用的编译器的是vscode,本身这个编译器很小,很多功能都没有,需要自己下载一些插件来完善功能,不知不觉下载的插件也有三十多个了,感觉需要记录一下. tips:1. vscode插件的安装位置:’ ...

  5. 浅析单点登录,以及不同二级域名下的SSO实现

    一家公司有多个产品线,就可能要有多个子域名,下头以baidu域名为例,a.baidu.com, b.baidu.com.com 是顶级域名,baidu 就是一个二级域名,a和b就是子域名. 当用户在a ...

  6. Luogu4630 APIO2018 Duathlon 圆方树、树形DP

    传送门 要求的是一条按顺序经过\(s,t,c\)三个点的简单路径.简单路径的计数问题不难想到点双联通分量,进而使用圆方树进行求解. 首先将原图缩点,对于一个大小为\(size\)的点双联通分量内,在这 ...

  7. LOJ6089 小Y的背包计数问题 背包、根号分治

    题目传送门 题意:给出$N$表示背包容量,且会给出$N$种物品,第$i$个物品大小为$i$,数量也为$i$,求装满这个背包的方案数,对$23333333$取模.$N \leq 10^5$ $23333 ...

  8. 在angularjs实现一个时钟

    想在网页上,显示当前系统时钟. <body ng-app="App2" ng-controller="Ctrl2"> <div ng-bind ...

  9. elaticsear no [query] registered for [filtered] 错误

    1.问题描述 执行语句: GET /megacorp/employee/_search { "query" : { "filtered" : { "f ...

  10. TRIO-basic指令--九九乘法表demo

    在路上闲的没事,想到之前自己用别的语言实现乘法口诀表,于是来了兴趣用TRIO-basic试一下,挺简单的一段代码,大家看看就好. ' TRIO-basic '实现乘法口诀表 定义两个整型的局部变量 D ...