关闭

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

标签: python
347人阅读 评论(0) 收藏 举报
分类:

平时都是使用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

0
0
查看评论
发表评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场

Python 学习 基础篇

http://chars.tech/2017/04/22/python-basic-knowledge/?utm_source=tuicool&utm_medium=referral 全世界大概有几百种编程语言,而其中著名的只有十几种。Python就是著名编程语言之一。它起...
  • u011001084
  • u011001084
  • 2017-06-06 15:39
  • 152

Java语言程序设计(基础篇)原书第十版 课后习题 第五章

import java.util.Scanner; public class Code_Practice_5 { public static void main(String[] args) { // 5.1 Scanner input = new Scanner...
  • zjjoebloggs
  • zjjoebloggs
  • 2015-10-21 20:27
  • 9956

Java语言程序设计(基础篇)原书第十版 课后习题 第三章

// 3.11 Scanner input = new Scanner(System.in); System.out.print("Enter a month and a year:"); int month = input.nextInt(); in...
  • zjjoebloggs
  • zjjoebloggs
  • 2015-10-06 21:58
  • 7495

初识OpenCV(基础篇)

OpenCV其实就是一堆C和C++语言的源代码文件,这些源代码文件中实现了许多常用的计算机视觉算法。例如C接口函数cvCanny()实现了Canny边缘提取算法。可以直接将这些源代码添加到我们自己的软件项目中,而不需要自己再去写代码实现Canny算法。  由于OpenCV中源代码文件巨...
  • songkai320
  • songkai320
  • 2016-07-13 17:59
  • 2167

Java语言程序设计基础篇原书第十版第五章综合题答案

循环的综合题。需要其它讲解的话,评论中留下题号。
  • Tanganling
  • Tanganling
  • 2016-11-13 13:01
  • 3727

java语言程序设计基础篇第十一章编程练习题

1package yongheng; import java.util.Scanner;public class Main { public static void main(String agrs[]){ Triangle test = new Triangle(); ...
  • gyhguoge01234
  • gyhguoge01234
  • 2016-09-08 22:19
  • 2232

java语言程序设计基础篇第八章编程练习题

1 import java.util.Scanner; public class Main{ public static void main(String[] args){ final int row = 3; final int column = 4; Scanner input ...
  • gyhguoge01234
  • gyhguoge01234
  • 2016-07-10 19:06
  • 2319

Java语言程序设计基础篇原书第十版第五章编程练习题答案

综合题在另外一个文章中,大家在主页找一下
  • Tanganling
  • Tanganling
  • 2016-11-06 16:21
  • 6065

【备忘】C++程序设计原理与实践 PDF下载

作者简介: Bjarne Stroustrup,英国剑桥大学计算机科学博士,C++的设计者和*初的实现者。他现在是德州农工大学计算机科学首席教授。1993年,由于在C++领域的重大贡献,他获得了ACM的Grace Murray Hopper大奖并成为ACM院士。在进入学术界之前,他在AT&...
  • maomi2maomi
  • maomi2maomi
  • 2016-12-01 22:18
  • 941

《鸟哥的linux私房菜:基础学习篇》第3版 - 核心笔记(全)

一、什么是 Linux 呢?! • Unix 与 Linux 的历史     o Multics 系统:由 Bell(贝尔实验室)、MIT(麻省理工学院)与 GE(美国通     用电器)合作开发的一个系统;     o 1969:K. ...
  • sinat_36184075
  • sinat_36184075
  • 2017-05-19 23:50
  • 552
    个人资料
    • 访问:185875次
    • 积分:3457
    • 等级:
    • 排名:第11211名
    • 原创:104篇
    • 转载:50篇
    • 译文:14篇
    • 评论:37条
    博客专栏
    文章分类
    站长统计