搭建私有pypi仓库

背景 为了对公司内部的Python库进行统一管理,但出于隐私考虑不能直接放到公共pypi服务器上,故考虑搭建私有pypi仓库。 服务端 安装 安装pypiserver pip install pypiserver passlib 安装supervisor apt-get install supervisor 配置 新建package存放目录 mkdir -p /opt/pypi/packages 创建用于上传package的密码 htpasswd -sc...

comments

IPython自动重新加载模块

问题 调试模块的时候需要不断修改代码,只有重新加载模块才可以看修改效果,而重新加载的方法有reload内置方法和重新运行解释器,这样都不是很方便,我希望修改代码能立刻生效。 解决 IPython有个autoreload扩展,只需要开启扩展并定义扩展的模式即可。 开启扩展 默认的配置位于\~/.config/ipython/profile_default/ipython_config.py,编辑该文件新增: c.InteractiveShellApp.extensions =...

comments

fabric初探

简介 Fabric是一个用于应用部署和系统管理的工具,它让基于ssh的的操作更灵活;你可以在本地或者远程批量执行一些命令,上传下载文件等。 优势 简单,没有架构,不需要理解master/agent(puppet)啦,master/minion(saltstack)啦相关的概念,当然任何一个工具都有自己的逻辑规则,相比其他工具fabric的学习成本要低很多; Pythonic,最小的执行单位---任务,就是基本的python函数,灵活性强;...

comments

Python实现手机控制PC

背景 最初想法起因是这样的:晚上睡觉前看电视剧看困了就不想起来关电脑了,所以需要通过手机远程在PC上执行命令。 组件 服务端提供接受指令和下发指令的两个API 手机端用Qpython写脚本向服务端提交指令 PC端写一个小daemon程序,获取指令并在本机执行 代码 服务端代码 以Django编写,后端用redis存储。 views.py from django.http import Http404, HttpResponse from django.shortcuts import...

comments

Python写MapReduce

说明 本文以一个没有Java开发经验的运维角度从宏观上去理解Hadoop的云计算(也就是MapReduce)框架模型的一些思想和运行流程;主要目的是在对MapReduce有一定了解后能用Python通过streaming工具来写MapReduce。 MapReduce工作流程 如下图所示: 概括整个过程如下: 客户端启动一个作业; 客户端向JobTracker请求一个job id; 客户端将运行作业所需的资源复制到HDFS上; 客户端将作业提交给JobTracker;...

comments

vitualenv

简介 virtualenv是用于隔离Python开发环境的工具。 特点 解决依赖同一项目的不同版本问题 没有root权限不能向系统安装包 基本原理 类似chroot的模式,virtualenv在项目目录下创建供python运行的基本系统目录结构,然后把python解释器和pip放到对应的目录下,然后通过修改对应的环境变量来达到执行对应程序的目的。 安装使用 sudo apt-get install virtualenv virtualenv test source...

comments

Python基础语法

特点: 简单易学;自由开源;高级解释型语言;可移植性;面向对象;可扩展;可嵌入;广泛的库支持。 Note: 简单易学却又无比强大,似乎不太符合逻辑。但不管怎么着,就像只有与一个人打交道才能了解一个人一样,既然选择了python,那就在学和用中去体会这门语言的特点吧。 基础: 字面常量( literal constants ),其值不可改变,就代表它自己。 数值类型,有四种类型:整数,长整数,浮点数和复数。 字符串 引号:单双引号意义一样;三引号可以指定跨行字符串,而且可以穿插单双引号。...

comments