赞
踩
工欲善其事,必先利其器,熟练掌握python开发环境,虚拟环境,anaconda 等数据科学软件的使用技巧才能令自然语言处理工作游刃有余。
更新内容见新版:python开发简介:编码规范,【Conda,Jupyter】环境搭建、配置与工程基础实践
本节课的主要内容介绍python 工程化开发的实践经验,为后续网络爬虫,正则表达式,分词,可视化等功能进行铺垫。
爬取本人CSDN 博客 , 其目的是为了我们后面课程的一个原始数据积累,语料积累。有了这部分语料和素材我们就可以针对博客数据,实战化的进行一些有针对性的分析。在实际应用中,我们往往做自然语言处理的第一步就是分析语料数据的积累。
语料的积累,以及进一步的自然语言处理工作首先得要做好工程化 的开发准备,下面我们就进一步的针对python 工程化开发实战经验进行一个分享。
之前课程的内容稍微有点纸上谈兵,旨在给大家热热身。本届课程进入实战环节,下面我们先来看一下python开发环境 的搭建,集成开发环境IDE 不用说了,都大同小异,下面几个是我经常用到的,推荐给大家:
pycharm 或者我们后面介绍的anaconda自带的spyder,甚至Sublime Text 都能作为集成开发环境,听说VS CODE 也非常好用,宇宙最强编译器 visual studio 最新版的直接继承了python 开发的插件也可以 说是非常方便,由windows平台开发者直接转python 的朋友一定会上手很快。
下面介绍一个 非常像matlab 的编译器:
Spyder is a powerful scientific environment written in Python, for Python, and designed by and for scientists, engineers and data analysts. It features a unique combination of the advanced editing, analysis, debugging, and profiling functionality of a comprehensive development tool with the data exploration, interactive execution, deep inspection, and beautiful visualization capabilities of a scientific package.
写了这么长一个从句,其实就是说spyder 其实是给分析人员用的。实际开发中我推荐,首选使用pycharm,其次spyder,最后我想说的是 jupyter notebook 也得会。
Project Jupyter exists to develop open-source software, open-standards, and services for interactive computing across dozens of programming languages.
jupyter 项目是一个开源web 服务开发计划,主要提供使用多种语言进行交互式计算服务。
Reveal.js 可以将notebook或者markdown直接转化为演示文稿
优点:
1.整合多种资源
2.交互式的编程体验
3.结果重现与可视化
他的多用户版本叫做jupyterhub
https://github.com/jupyterhub/jupyterhub
这是jupyter lab 中对于洛伦兹方程(Lorenz equation),x, y(吸引子),系统的演化轨迹。
https://jupyterlab.readthedocs.io/en/latest/getting_started/installation.html
JupyterLab的特色是允许用户在一个窗口内安排笔记本、终端、文本文件和输出的工作区。你可以把窗口拖到你想要的位置,也可以通过实时预览编辑常用文件格式,如Markdown、CSV和JSON,实时查看项目进展。
Colaboratory 是一款研究工具,用于进行机器学习培训和研究。它是一个 Jupyter 笔记本环境,不需要进行任何设置就可以使用。Colaboratory 若果你用的比较好的话,其实是可以薅羊毛的,google 提供了免费的云GPU使用,勉强做个测试还是可以的。
常见问题解答:
https://research.google.com/colaboratory/faq.html
中文说明:
https://colab.research.google.com/notebooks/welcome.ipynb
有了集成开发环境,还要准备搭建python 的编译环境以及虚环境。这是由于开源软件目前更新换代非常快,不同开发包之间相互依赖和更新可能引起的冲突及连锁反应。
进行Python开发时,多个项目可能使用到不同的依赖,例如:
A项目需要1.8版本的tensorflow,2.2版本的OpenCV
B项目需要2.0版本的tensorflow,3.2版本的OpenCV
这种:
为了给不同的工程创建互相独立的运行环境技术
我们称之为python 虚环境技术。 其主要优点是:
python部分开发包,有属于开源组织或商业组织。不同开发包之间相互依赖和更新可能引起的冲突及连锁反应,比如升级scrapy就可能导致matplotlit 失效。一旦我不使用了,可以直接删除虚拟环境,而不用管各种文件残留,关联问题了。
综上使用虚环境进行python 开发是我们的不二选择。
Anaconda is a package manager, an environment manager, a Python/R data science distribution, and a collection of over 1,500+ open source packages.
Anaconda是一个包管理器、一个环境管理器、一个python/R数据科学发行版和一个超过1500个开放源代码包的集合。
虚环境有:
包管理有:
virtualenv不便于对环境的集中管理,virtualenvwrapper很好的解决了这个问题
conda结合了pip和virtualenv的功能
Package, dependency and environment management for any language—Python, R, Ruby, Lua, Scala, Java, JavaScript, C/ C++, FORTRAN
Conda是一个开源软件包管理系统和环境管理系统,运行在Windows、MacOS和Linux上。Conda可以快速安装、运行和更新包及其依赖项。Conda可以在本地计算机上轻松创建、保存、加载和切换环境。它是为Python程序创建的,但它可以为任何语言打包和分发软件。
关于conda 的特点:https://blog.csdn.net/zhouchen1998/article/details/84671528 这篇文章讲的非常清楚,我再来概括一下,conda 的主要特有:
基本python 开发环境要求我们针对本课程单独创建一个隔离环境,使用conda进行管理。
该环境使用的python开发包可以完成,网络爬虫,数据分析,NLP 等功能任务。
0. 基本设置
由于anaconda 的conda 请求源在国外,我们配置为清华镜像,这样速度更快。如果自己也不知后面都要用什么开发包,先随便指定一个。
2019年5月左右,清华,中科大先后无限期关闭了conda 源, 以后只能使用官方的了。
但是过了一个月清华的又开了,哈哈
#conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/msys2/ #conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/ #conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/ #conda config --set show_channel_urls yes conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/ conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/ conda config --set show_channel_urls yes conda config --show #查看conda的配置 # 如果有问题 ,可以删除 channels # conda config --remove-key channels # 我们使用 python 3.6.2 这个最常用的python 版本 conda create --name NLP_DEMO python=3.6 jieba selenium conda activate NLP_DEMO
1. 创建环境
使用如下命令,并准备好requirements.txt (这个文件罗列了,该环境的基本开发包及版本)
# 创建隔离环境
conda create --name <env> --file <this file>
requirements.txt
# This file may be used to create an environment using: # $ conda create --name <env> --file <this file> # platform: win-64 asn1crypto=0.22.0=py36_0 certifi=2016.2.28=py36_0 cffi=1.10.0=py36_0 cryptography=1.8.1=py36_0 idna=2.6=py36_0 jieba=0.39=py_1 openssl=1.0.2l=vc14_0 packaging=16.8=py36_0 pip=9.0.1=py36_1 pycparser=2.18=py36_0 pyopenssl=17.0.0=py36_0 pyparsing=2.2.0=py36_0 pysocks=1.6.6=py36_0 python=3.6.2=0 selenium=3.141.0=py36hfa6e2cd_1000 setuptools=36.4.0=py36_1 six=1.10.0=py36_0 urllib3=1.21.1=py36_0 vc=14=0 vs2015_runtime=14.0.25420=0 wheel=0.29.0=py36_0 win_inet_pton=1.0.1=py36_0 wincertstore=0.2=py36_0
2. 激活conda环境
conda activate NLP_DEMO
#conda批量导出包含环境中所有组件的requirements.txt文件
conda list -e > requirements.txt
#pip批量安装requirements.txt文件中包含的组件依赖
conda install --yes --file requirements.txt
3.安装selenium,scrapy
浏览器输入以下地址,查看chrome 版本
chrome://version/
我的版本:Google Chrome 72.0.3626.96 (正式版本) (32 位)
在下面地址中找到对应版本
https://sites.google.com/a/chromium.org/chromedriver/downloads
下载后把压缩包中的exe 放在:
D:\ProgramData\Anaconda3\envs\NLP_DEMO\Scripts
4.pycharm 设置使用conda 环境
jupyter notebook --allow-root >jupyter_notebook.log 2>&1 &
# 在基本环境中安装nb_conda
(base) C:\Users\Lenovo>conda install nb_conda
# 切换到 新安装的环境中 activate fast_claim,并安装ipykernel
(fast_claim) D:\ProgramData\Anaconda3\envs>conda install ipykernel
这下就可以用jupyter notebook 中加载了
https://www.python.org/dev/peps/pep-0008/
代码分析插件
正好我手里面有个虚拟机,CentOs 7 版本的
之前写过一个 CentOS 7 下使用虚拟环境Virtualenv安装Tensorflow cpu版记录
但是,目前的话,我们用conda 管理环境,所以这块我再针对conda 重新梳理一下,
安装anaconda ,首先去官网
wget https://repo.anaconda.com/archive/Anaconda3-2019.10-Linux-x86_64.sh # 先生成配置文件 # 生成jupyter notebook启动参数文件并修改参数 jupyter notebook --generate-config # 配置密码登录 jupyter notebook password # vi .jupyter/jupyter_notebook_config.py #文件jupyter_notebook_config.py添加如下参数,后保存 c.NotebookApp.ip = '*' #外部IP地址客户端可以访问 c.NotebookApp.notebook_dir = '/home/jason/jupyter_nb' #本地notebook访问的目录 c.NotebookApp.open_browser = False #jupyter notebook启用时不再本地默认打开浏览器 c.NotebookApp.port = 9999 #默认访问的端口是9999 # root 下启动 #直接启动notebook后台服务,并输出运行日志,之后就可以远程访问这个服务了 jupyter notebook --allow-root >jupyter_notebook.log 2>&1 &
windows 下生成的 配置文件信息,所在位置:
(base) C:\Users\Administrator>jupyter notebook --generate-config
Writing default config to: C:\Users\Administrator\.jupyter\jupyter_notebook_config.py
windows 下设置时候,系统多加了一个变量 “%USERPROFILE%”,所以造成修改c.NotebookApp.notebook_dir 没有生效,删除即可
pip install jupyter_contrib_nbextensions
jupyter contrib nbextension install --user
jupyter nbextension enable execute_time/ExecuteTime
# 单次使用
# conda install tensorflow -c https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --set show_channel_urls yes
conda config --show #查看conda的配置
# 我们使用 python 3.6.2 这个最常用的python 版本
conda create --name NLP_DEMO python=3.7 selenium tensorflow
conda activate NLP_DEMO
使用方法很简单,直接 -i 加 url 即可!如下:
pip install tensorflow -i https://pypi.douban.com/simple
# pip install tensorflow -i http://pypi.douban.com/simple --trusted-host pypi.douban.com
# 配置清华PyPI镜像(如无法运行,将pip版本升级到>=10.0.0)
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
# 上面命令会修改文件,Writing to /root/.config/pip/pip.conf
官网链接:TensorFlow 安装
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。