本文将分享ipythonparallel的Python名称空间问题的详细内容,并且还将对python名字空间进行详尽解释,此外,我们还将为大家带来关于bpython功能强大的Pythonshell、C
本文将分享ipython parallel的Python名称空间问题的详细内容,并且还将对python名字空间进行详尽解释,此外,我们还将为大家带来关于bpython 功能强大的Python shell、CentOs 7 同时安装python2、python3,如何创建独立的python3运行环境:virtualenv、centos下python多版本管理(pyenv+python+virtualenv+ipython)、IPython 1.0发布,强大的Python交互式Shell的相关知识,希望对你有所帮助。
本文目录一览:- ipython parallel的Python名称空间问题(python名字空间)
- bpython 功能强大的Python shell
- CentOs 7 同时安装python2、python3,如何创建独立的python3运行环境:virtualenv
- centos下python多版本管理(pyenv+python+virtualenv+ipython)
- IPython 1.0发布,强大的Python交互式Shell
ipython parallel的Python名称空间问题(python名字空间)
我开始尝试使用IPython并行工具并遇到问题。我用以下命令启动python引擎:
ipcluster start -n 3
然后,以下代码运行良好:
from IPython.parallel import Client
def dop(x):
rc = Client()
dview = rc[:]
dview.block=True
dview.execute('a = 5')
dview['b'] = 10
ack = dview.apply(lambda x: a+b+x,x)
return ack
ack = dop(27)
print ack
会按原样返回[42,42,42]。但是,如果我将代码分成不同的文件:dop.py:
from IPython.parallel import Client
def dop(x):
rc = Client()
dview = rc[:]
dview.block=True
dview.execute('a = 5')
dview['b'] = 10
print dview['a']
ack = dview.apply(lambda x: a+b+x,x)
return ack
并尝试以下操作:
from dop import dop
ack = dop(27)
print ack
我从每个引擎收到错误:
[0:apply]: NameError: global name 'a' is not defined
[1:apply]: NameError: global name 'a' is not defined
[2:apply]: NameError: global name 'a' is not defined
我不明白…为什么我不能将函数放入另一个文件中并导入呢?
bpython 功能强大的Python shell
好在强大的Python对默认shell进行了扩展,开发了许多漂亮的Python shell。每一个都提供了一个极好的交互性的Python 体验。今天我就为大家介绍其中较为优秀的一款 — bpython。
bpython简介
bpython是一个不错的Python解释器的界面,开发者的目的是提供给用户所有的内置功能,很像现在的IDE(集成开发环境),但是将这些功能封装在在一个简单,轻量级的包里,可以在终端窗口里面运行。
bpython并不追求创造任何新的或者开创性的东西。相反,它聚集了一些简洁的理念,关注于实用性和操作性。
立即学习“Python免费学习笔记(深入)”;
如何安装
bpython最新版本是0.15。有四种安装方式:
- 官网下载最新版本的tarball:http://bpython-interpreter.org/releases/
- 克隆bpython的Git仓库:git clone https://github.com/bpython/bpython/
- 通过pip安装:pip install bpython
- 通过系统自带的包管理器:apt-get install bpython
想让bpython正常运行的话,还需要安装以下依赖包:
Pygments requests curtsies >= 0.1.18,
具体功能
功能十分丰富,具体包括:
- 内置的语法高亮 – 使用Pygments排版你敲出的代码,并合理配色
- 根据你的行为,显示自动补全的建议
- 为任何Python函数列出所期望的参数 – 可以显示你调用的任何函数的参数列表
- “Rewind”功能会调出内存里的最后一行代码并重新执行
- 可以将你输入的代码送到pastebin
- 可以将你输入的代码保存到一个文件
- 自动缩进
- 支持Python 3
类似的Python shell
除了bpython之外,还有IPython、ptpython和dreampie等三个类似的Python shell。
知道什么是bpython,它的安装方法,功能了吧,希望大家可以深入的进行了解。
CentOs 7 同时安装python2、python3,如何创建独立的python3运行环境:virtualenv
- 安装完成python3
- pip3 install virtuallenv
- 检查virtualenv已安装,我的路径 /usr/local/python3/lib/python3.6/site-packages/virtualenv.py
- python3 /usr/local/python3/lib/python3.6/site-packages/virtualenv.py /home/py3new (其中/home/py3new为独立运行环境目录)
- 进入/home/py3new/bin/检查python的版本 python3
centos下python多版本管理(pyenv+python+virtualenv+ipython)
pyenv是个多版本python管理器,可以同时管理多个python版本共存,如pypy,miniconde等等
1 环境准备 安装相关软件和pyenv
1.1 安装相关软件
yum install -y readline readline-devel readline-static openssl openssl-devel openssl-static sqlite-devel bzip2-devel bzip2-libs
1.1 克隆pyenv
git clonehttps://github.com/yyuu/pyenv.git~/.pyenv
1.2 设置相关环境变量,使pyenv生效
echo ''export PYENV_ROOT="$HOME/.pyenv"'' >> ~/.bash_profile
echo ''export PATH="$PYENV_ROOT/bin:$PATH"'' >> ~/.bash_profile
echo ''eval "$(pyenv init -)"'' >> ~/.bash_profile
exec $SHELL -l
2 安装python
2.1 常用pyenv操作
pyenv install --list 查看可安装的python版本
pyenv install 3.5.0 安装python3.5.0
pyenv uninstall //卸载
2.2 更新pyenv
安装完之后,需要更新一下才能看到已经安装的版本
pyenv rehash
pyenv versions //查看已经安装好的版本,带*号的为当前使用的版本
2.3 选择python版本
pyenv global 3.5.0 //设置全局版本,即系统使用的将是此版本
pyenv local 3.5.0 //当前目录下的使用版本,有点类似virtualenv
补充:网络问题导致安装缓慢或无法进行
如anaconda之类大容量的版本,由于网络的问题,总是连接中断,安装失败。此时可以先从官方网站下载安装包,然后放在~/.pyenv/cache文件夹中,然后在pyenv install 此版本,pyenv会自动先从此文件夹中搜索
3 python virtualenv创建纯净虚拟环境
虽然直接安装pip安装virtualenv也行,但是通过pyenv插件的形式安装virtualenv的虚拟环境更加方便,因为之后的操作会比较方便。
3.1 安装插件pyenv-virtualenv
参考文章:http://www.tiny-coder.com/home-article-51.html
pyenv-virtualenv插件安装:项目主页:https://github.com/yyuu/pyenv-virtualenv
pyenv virtualenv是pyenv的插件,为UNIX系统上的Python virtualenvs提供pyenv virtualenv命令。
3.2 安装virtualenv
git clonehttps://github.com/yyuu/pyenv-virtualenv.git~/.pyenv/plugins/pyenv-virtualenv
echo ''eval "$(pyenv virtualenv-init -)"'' >> ~/.bash_profile
这个插件将安装在主文件夹下的.pyenv文件夹中。
3.3 创建一个2.7.13的虚拟环境
pyenv virtualenv 2.7.13 py27
source ~/.bash_profile
这条命令在本机上创建了一个名为env271的python虚拟环境,这个环境的真实目录位于:~/.pyenv/versions/
注意,命令中的 ‘2.7.13’ 必须是一个安装前面步骤已经安装好的python版本, 否则会出错。
然后我们可以继续通过 ‘pyenv versions’ 命令来查看当前的虚拟环境。
3.4 切换和使用新的python虚拟环境:
pyenv activate env271
这样就能切换为这个版本的虚拟环境。通过输入python查看现在版本,可以发现处于虚拟环境下了。
如果要切换回系统环境, 运行这个命令即可
pyenv deactivate
那如果要删除这个虚拟环境呢? 答案简单而且粗暴,只要直接删除它所在的目录就好:
rm -rf ~/.pyenv/versions/env271/
或者卸载:
pyenv uninstall env271
4 安装ipython
centos7 已经带有pip,不用安装pip(在centos6 叫python-pip,在centos7 叫pip)
yum install python-pip
进入python环境后, 安装ipython,若是python2+,需要指定ipython版本为ipython==1.2.1
pip install ipython
ps: 各个步骤的安装脚本,这里的脚本安装了python2.7.13和3.6.0,python安装方式为先下载,在安装
1 环境准备 安装相关软件和pyenv
[](javascript:void(0);)
#!/usr/bin/env bash
# 安装相关软件和pyenv
yum install -y readline readline-devel readline-static openssl openssl-devel openssl-static sqlite-devel bzip2-devel bzip2-libs # 克隆pyenv git clone https://github.com/yyuu/pyenv.git ~/.pyenv # 导出环境变量,使pyenv生效 echo ''export PYENV_ROOT="$HOME/.pyenv"'' >> ~/.bash_profile echo ''export PATH="$PYENV_ROOT/bin:$PATH"'' >> ~/.bash_profile echo ''eval "$(pyenv init -)"'' >> ~/.bash_profile exec $SHELL -l
[](javascript:void(0);)
2 安装python
[](javascript:void(0);)
#!/usr/bin/env bash
python2=2.7.13 python2_url="https://www.python.org/ftp/python/$python2/Python-${python2}.tar.xz" python3=3.6.0 python3_url="https://www.python.org/ftp/python/$python3/Python-${python3}.tar.xz"
test -e ~/.pyenv/cache || mkdir -p ~/.pyenv/cache cd ~/.pyenv/cache
if ! ls Python-${python2}.tar.xz &> /dev/null; then wget $python2_url fi pyenv install $python2 -v
if ! ls Python-${python3}.tar.xz &> /dev/null; then wget $python3_url fi pyenv install $python3 -v
git clone https://github.com/yyuu/pyenv-virtualenv.git ~/.pyenv/plugins/pyenv-virtualenv echo ''eval "$(pyenv virtualenv-init -)"'' >> ~/.bash_profile source ~/.bash_profile
[](javascript:void(0);)
3 python virtualenv创建纯净虚拟环境
[](javascript:void(0);)
#!/usr/bin/env bash
python2=2.7.13 python3=3.6.0 pyenv virtualenv $python2 py27 pyenv virtualenv $python3 py35
echo ''alias py27="pyenv activate py27"'' >> ~/.bash_profile echo ''alias py35="pyenv activate py35"'' >> ~/.bash_profile echo ''alias pyd="pyenv deactivate"'' >> ~/.bash_profile
source ~/.bash_profile
[](javascript:void(0);)
4 安装ipython
#!/usr/bin/env bash
# 使用py27进入python环境后,进行以下操作。 # py27 yum install python-pip pip install ipython==1.2.1
#!/usr/bin/env bash
# 使用py35进入python环境后,进行以下操作。 # py35 yum install python-pip pip install ipython
IPython 1.0发布,强大的Python交互式Shell
在今年年初颁布的“2012年度自由软件奖”中,开发者Fernando Perez凭借IPython这一项目获得了2012年度自由软件推动奖。
今天IPython项目终于发布了1.0版本。
IPython是一个Python交互式Shell,提供了一个强大的交互式计算架构。支持变量自动补全、自动缩进,且支持 bash shell 命令,内置了许多很有用的功能和函数,比默认的Python Shell 好用得多。
IPython提供了丰富的工具包,以帮助你尽可能地交互式地使用Python。其主要组件包括:
强大的交互式的Python shells(基于终端和基于Qt方式)。一个基于Web的交互式笔记环境,拥有所有shell功能,以及支持嵌入式图形、动画和富媒体。支持交互式数据可视化,支持使用GUI工具包。灵活、可嵌入的解释器,可加载到自己的项目中。一个高性能库,可用于多核心系统、集群、超级计算和云场景中的高级、交互式并行计算。IPython是一个增强版的Python shell,其shell方面的主要特性如下:
全面的对象自省机制。跨会话、持久的历史输入记录。在会话期间对输出结果进行缓存,并自动生成引用。扩展标签自动完成。默认支持Python变量、关键字、文件名和函数关键字的自动完成。一个丰富的配置系统,可以在不同的设置之间轻松切换。会话记录和重载。针对特殊用途的扩展语法处理功能。可通过扩展的别名系统来访问系统shell。可轻松嵌入到其他Python程序和GUI中。集成访问PDB调试器和Python分析器的功能。IPython还是一个交互式并行计算架构,主要特性如下:
从一个交互式的Python/IPython会话中快速并行化Python代码。一个灵活、动态的处理模型,可被部署到从多核心工作站到超级计算机等的任何系统中。一个支持多种不同并行风格(从消息传递到任务处理)的架构。阻塞和完全异步接口。高级别API,只需几行代码就可以将许多事情并行化处理。可与其他用户安全地共享实时并行作业。动态负载均衡任务放牧(task farming)系统。强大的并行代码错误处理功能。详细信息:IPython 1.0.0
官方网站:http://ipython.org/
项目地址:https://github.com/ipython
国内镜像地址:https://code.csdn.net/OS_Mirror/ipython
今天关于ipython parallel的Python名称空间问题和python名字空间的讲解已经结束,谢谢您的阅读,如果想了解更多关于bpython 功能强大的Python shell、CentOs 7 同时安装python2、python3,如何创建独立的python3运行环境:virtualenv、centos下python多版本管理(pyenv+python+virtualenv+ipython)、IPython 1.0发布,强大的Python交互式Shell的相关知识,请在本站搜索。
本文标签: