在Virtualenv中使用Idle
原创
在Virtualenv中使用Idle
本文适用于Linux系统,在DebianTesting上测试通过。
关于Virtualenv
先看一段Virtualenv这货的官方介绍:
virtualenv is a tool to create isolated Python environments.
The basic problem being addressed is one of dependencies and versions, and indirectly permissions. Imagine you have an application that needs version 1 of LibFoo, but another application requires version 2. How can you use both these applications? If you install everything into /usr/lib/python2.7/site-packages (or whatever your platform’s standard location is), it’s easy to end up in a situation where you unintentionally upgrade an application that shouldn’t be upgraded.
Or more generally, what if you want to install an application and leave it be? If an application works, any change in its libraries or the versions of those libraries can break the application.
Also, what if you can’t install packages into the global site-packages directory? For instance, on a shared host.
In all these cases, virtualenv can help you. It creates an environment that has its own installation directories, that doesn’t share libraries with other virtualenv environments (and optionally doesn’t access the globally installed libraries either).
也就是说Virtualenv这货就像丫的名字,可以给用户提供一个虚拟的Python环境,这个环境里的东西独立于系统的Python设置,在这个虚拟环境里你可劲儿折腾,怎么折腾都不会有问题。
安装virtualenv也很简单:
pip install virtualenv
很多网上的教程要下载virtualenv的安装包之后手动安装,这里推荐使用pip从pypi上直接下载,可以让pip处理很多需要我们手动处理的问题。
Linux用户,推荐使用apt等包管理器安装:
sudo apt-get install virtualenv
关于VirtualenvWrapper
再看一段VirtualenvWrapper这货官方的介绍:
virtualenvwrapper is a set of extensions to Ian Bicking’s virtualenv tool. The extensions include wrappers for creating and deleting virtual environments and otherwise managing your development workflow, making it easier to work on more than one project at a time without introducing conflicts in their dependencies.
这货是辅助Virtualenv使用的,本身不能单独提供功能。
安装方式也很简单:
pip install virtualenvwrapper
推荐使用apt等包管理器安装:
sudo apt-get install virtualenvwrapper
Virtualenv中的Idle
Idle是python自带的编辑器,集编写调试于一体,在当前众多IDE百花齐放百家争鸣的盛世下,Idle或许不是最强大的IDE,但一定是最方便而且可用的,官方Python安装包已经包含了Idle,在Linux里面,只需要这样,就可以安装Idle:
sudo apt-get install idle
当然,apt仓库里面会有很多不同的Python版本,对应着也有会不同版本的Idle,请选择自己合适的版本。
新建一个vidle.py,内容如下:
#!/usr/bin/env python2
from idlelib.PyShell import main
if __name__ == '__main__':
main()
其中,idlelib就是Idle对应的库。
第一行用于告诉shell需要用什么解释器执行当前脚本,由于我们要使用Virtualenv
,所以默认的的__/usr/bin/python__在这里无法正常访问我们的Virtualenv中的python环境,而每个Virtualenv中的python可执行文件所在的目录又不尽相同,在这里,使用env去自动寻找当前环境上下文中指定的Python可执行文件。
到这里我们已经可以在Virtualenv中使用Idle,只需要创建一个Virtualenv并在这个Virtualenv里面执行这个vidle.py就可以了。
user@linux:~$ mkvirtualenv test
Running virtualenv with interpreter /usr/bin/python2
New python executable in test/bin/python2
Also creating executable in test/bin/python
Installing setuptools, pip...done.
(test)user@linux:~$ ./path/to/vidle.py
如果不想每次都带上全路径,可以在系统里面创建一个链接,指向这个文件。
sudo ln /path/to/vidle.py /usr/bin/vidle.py
将vidle.py开头的pytho2改成python3,则该脚本可用于启动python3的idle:
#!/usr/bin/env python3
from idlelib.PyShell import main
if __name__ == '__main__':
main()
在Virtualenv中使用Idle的更多相关文章
- python虚拟环境virtualenv、virtualenv下运行IDLE、powershell 运行脚本由执行策略引起的问题
一.为什么要创建虚拟环境: 应为在开发中会有同时对一个包不同版本的需求,创建多个开发环境就能解决这个问题.或许也会有对python不同版本的需求,这就需要使用程序来管理不同的版本,virtualenv ...
- 在virtualenv中安装libxml2和libxslt
在使用python的工作中,需要使用到libxml2和libxslt库.原来在实际环境中已经安装完成了,但是在virtualenv中还没有,现在正在整理virtualenv的环境.下面把在virtua ...
- [python] 2、python使用pyaudio进行录音,及其在python虚拟环境virtualenv中安装遇到的问题
1.pyaudio安装大背景 最近在做智能音箱,需要编写声音拾取代码,我先是百度两篇比较常见的用python进行录音的操作的文章: python写一个录音小程序:http://blog.csdn.ne ...
- 在virtualenv中使用不同的Python版本
来源:百度SEO公司 我有一个目前使用python 2.5.4运行的Debian系统. 我正确安装了virtualenv,一切正常. 我是否可以将virtualenv与其他版本的Python一起使 ...
- virtualenv中ImportError: No module named django
问题现象:在代码py文件中,import django 报错,但是在python shell中直接执行这个语句没错, 网上搜索了下,自己测试了下,确定原因是由于使用了python中的virtualen ...
- virtualenv 中 install flask 的小问题
最经在学习Python flask 框架 ,用virtualenv建立好我的flask虚拟环境后,执行 sudo pip install flask 并没有报错 我以为已经装上了flask,但当我进入 ...
- 填坑!!!virtualenv 中 nginx + uwsgi 部署 django
一.为什么会有这篇文章 第一次接触 uwsgi 和 nginx ,这个环境搭建,踩了太多坑,现在记录下来,让后来者少走弯路. 本来在 Ubuntu14.04 上 搭建好了环境,然后到 centos7. ...
- macOS在virtualenv中使用wxPython报错
在虚拟的Python环境中运行GUI的软件报错 This program needs access to the screen. Please run with a Framework build o ...
- 在Windows下的virtualenv中搭建Flask+MySQLDb开发环境
virtualenv和Flask的安装前面已经介绍过了,这里主要讲如何在venv中安装MySQL 安装MySQLdb 下载MySQL-python-1.2.3.win32-py2.7.exe并安装. ...
随机推荐
- Mysql之 配置文件读取顺序
On Unix, Linux and Mac OS X, MySQL programs read startup options from the following files, in the sp ...
- C# 自己动手实现Spy++(二)
昨天已经实现了获取窗口的标题.句柄等信息,但是高亮部分还有问题,而且红色绘制框擦除也有问题,今天就又研究了下上述两个问题. 高亮部分红色框只显示左上的边框,而右下的显示不出来,如图: 代码如下: pu ...
- C#多线程学习笔记之(abort与join配合使用)
今天刚开始学多线程,尽管以前用过一点点,但是只是照着网上代码抄,没有真正理解,现在回过头来想研究研究,慢慢弄懂,下面就是我在网上所找资料的例子,相信大家都看过,做了小点改动 View Code nam ...
- Spark Streaming实时数据分析
[kfk@bigdata-pro01 softwares]$ sudo rpm -ivh nc-.el6.x86_64.rpm Preparing... ####################### ...
- CS229 4.Logistic Regression
- RxJava学习;数据转换、线程切换;
Observable(被观察者,发射器)发送数据: just:发送单个的数据: Observable.just("cui","chen","bo&qu ...
- 浅析Redis 和MongoDB
今天来聊聊什么事nosql,一听nosql也许很多人会觉得很高大上的感觉,但其实接触过了也还觉得还行,随着当今数据的疯狂爆炸性的增长,传统的RDBMS也越来越暴露出他的不足之处,所以,作为一名合格的程 ...
- 「2017 山东一轮集训 Day4」棋盘(费用流)
棋盘模型 + 动态加边 #include<cstdio> #include<algorithm> #include<iostream> #include<cs ...
- lunix nginx安装 报错页面 状态码
web服务器软件IIS (windows底下的web服务器软件) Nginx (Linux底下新一代高性能的web服务器) Tengine www.taobao.com 这是淘宝 Apach ...
- Java远程通讯技术及原理分析
在分布式服务框架中,一个最基础的问题就是远程服务是怎么通讯的,在Java领域中有很多可实现远程通讯的技术,例如:RMI.MINA.ESB.Burlap.Hessian.SOAP.EJB和JMS等,这些 ...