Python:你需要知道的七七八八(基础篇)

原创 2017年07月08日 22:27:50

平时都是使用C++的,工作中运用python的机会不多,所以python的学习都是利用业余时间完成的。这样一来,就没有系统的,全面的研究python,只能够七七八八的写一些随笔的杂记。不过可惜,目前没有更多的时间整理各种常用库的用法。以后有机会就补上代码和说明。
我的代码会放在这儿:bentan2013/PythonAndGIS

Anaconda多版本python的配置

众所周知,python主要分2.x 和 3.x,其中又有很多小版本,而且安装某些软件的的时候,会默认安装各个版本的python。例如老版本的arcmap会安装python2.7。ARCGIS Pro会安装python3.5。这一切都会对系统环境带来影响。所以需要使用各种方法来配置虚拟环境。

我最先接触的就是anaconda了。列出一些简单的命令。

创建一个虚拟环境

conda create -n yourenvname python=x.x anaconda

激活虚拟环境
注意,linux一般要加source,win不用
source activate yourenvname
安装包
激活虚拟环境之后,输入
conda install -n yourenvname [package]

退出虚拟环境
source deactivate

删除虚拟环境
conda remove -n yourenvname -all

另外,在linux下,如果不想使用conda,就在.bashrc中注释掉conda的path就行

不使用虚拟环境的话,可以在bashrc etc/profile中制定自己的python路径
export PYTHONPATH=$PYTHONPATH:yourpath

各种库各种包

安装
- 使用pip或者pip3安装
- 使用各种虚拟环境提供的工具安装
常用的numpy, panda, matplotlib …就不在此一一介绍,下载使用很方便。而且安装了anaconda之后,会给你安装常用的各种包。
另外
部署
如果需要到处你项目中的各个包可以使用
pip freeze > requirements.txt
如果需要安装别人项目中的各个包可以使用
pip install -r requirements.txt

但是很多时候,如果你不使用虚拟环境的话,pip freeze导出的是你环境中的所有包(虽然建议是一个虚拟环境跑一个大项目)

试试这个

pip install pipreqs
pipreqs /path/to/project

打包

PyInstaller还是很好用的。就不详细介绍了。
PyInstaller
顺便列一个py2exe吧。

反正第一次用会出现各种问题,善用搜索引擎就好。

然后使用python写的工具和库能极大的丰富自己的程序,例如ArcGIS桌面端产品中,基本上都能使用python进行扩展。

这几年,对于python我用得比较多的还是脚本化,自动化部分和Flask,ROS,机器学习部分。

多语言编程

这部分的内容太多了,估计以后要重新开一篇,大概属于高级部分吧。我用的最多的还是python和c++的交互。使用swig把c++封装为python库。真的很简单(我指的是使用方便)
先放一个链接吧:SWIG and Python

想多了解这部分,大概要稍微了解下,编译,链接,库。python py、pyc、pyo、pyd区别。Python如何写模块。等等。。

随便看看

Python3.5 doc
500lines
fullstackpython
Interfacing C/C++ and Python with SWIG

版权声明:本文为博主原创文章,未经博主允许不得转载。 举报

相关文章推荐

Python:你需要知道的七七八八(基础篇)

平时都是使用C++的,工作中运用python的机会不多,所以python的学习都是利用业余时间完成的。这样一来,就没有系统的,全面的研究python,只能够七七八八的写一些随笔的杂记。

对于斗地主残局,用python实现solver

前面的话 前段时间呢,我发了一个朋友圈,是有关一个斗地主残局 刚刚看到有个人实现了残局的solver,缺点是在手牌多的时候时间复杂度还是挺高的。 minimax ...

精选:深入理解 Docker 内部原理及网络配置

网络绝对是任何系统的核心,对于容器而言也是如此。Docker 作为目前最火的轻量级容器技术,有很多令人称道的功能,如 Docker 的镜像管理。然而,Docker的网络一直以来都比较薄弱,所以我们有必要深入了解Docker的网络知识,以满足更高的网络需求。

数据集网址

1.  http://projects.iq.harvard.edu/cces/home 2.  Opinion evolution model of social network based ...

有用的网址

图情档案问卷:http://www.sojump.com/jq/3555132.aspx  ureydhj/19841101 QQ:2197900662 写论文可能用到的网址: h...

任务知识总结之绘制相关

在android系统中 canvas主要用于处理显示内容的绘制,自定义View时我们一般都是在View的onDraw中接收到系统传给我们的canvas,然后将我们需要展示的内容绘制到该canvas上,...

初赛复习

汉字机内码,又称“汉字ASCII码”,简称“内码”,指计算机内部存储,处理加工和传输汉字时所用的由0和1符号组成的代码。汉字机内码=汉字国标码+8080H 占用2B 解释程序的功能是解释执行高级语言程...

【WRITE】大难不死,必有后福

工作之余,读点东西,敲点东西,发发牢骚,回一下过去,展望下未来,平复一下自己波涛汹涌的内心,填充一下自己空虚无知的脑袋,不失为一种自娱自乐、排忧解乏的好方式。   今天早上看新闻,一个司机追尾一辆运钢...

超级牛人华为工作十年离职感想

作者背景:徐家骏是华为数据中心的头,技术超级牛人,一级部门总监,华为副总裁,年收入过千万。从一个应届毕业生,到年薪千万的华为副总裁,再到离开华为转战百度,徐家骏的十年从业经历和经验对于今年的应届毕业生...

为什么国内的网盘公司都在 TB 的级别上竞争,成本会不会太高?

本文来自知乎 @杜鑫 的回答        比如百度 1T,腾讯、360 多 T,就硬件成本来计算,是不是太可怕了,公司会投入这么多么?假设百度盘一千万用户,每人 1T,有人能算...

2015.3.26昨日面试

昨天两场面试一场上午android 开发的。 一场下午web前端的。 web前端有点不想去,最后还是去了。      上午那场约好10点面试的,面试前一天有点激动。 从富士康离职后第一次面试,早早的...
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)