1 spacemacs

 

1.1 .spacemacs 文件

1.2 项目文件

在项目根目录下新建一个空文件:

.projectile

1.3 open shell windows

hM-x eshell M-x shell

1.4 emacs基础

 

1.4.1 自动删除没有用到的package

M-x package-autoremove

1.4.2 自动缩进 indent-region

C-M-\ 自动缩进所选的代码或者缩进所有代码

1.4.3 dired-mode

+: 创建一个目录 C-x C-f :新增一个文件 g: 刷新目录 c: 复制文件 d:标记删除文件 x: 执行所有标记

1.5 配置emacs使用本地elpa库

在同步了elpa库到本地后,想要在让emacs使用本地的库。

1.5.1 方法1

在.emacs.d/init.el开头添加如下代码

(require 'package)
(setq package-enable-at-startup nil)
(setq package-archives '(("melpa" . "~/.emacs.d/mirror-elpa/melpa/")
("org" . "~/.emacs.d/mirror-elpa/org/")
("gnu" . "~/.emacs.d/mirror-elpa/gnu/")))

1.5.2 方法2

如果使用的是spacemacs,则在 defun dotspacemacs/user-init 函数内添加如下代码 windows的下使用绝对路径,格式是//?/盘符/文件夹 ,或者可以把镜像放到你的C:\Users\<你的用户名>\AppData\Roaming目录下面然后可以使用 ~/elpa-mirror/melpa/ 这样的路径

(setq configuration-layer--elpa-archives
'(("melpa-cn" . "//?/f:/elpa-mirror/melpa/")
("org-cn" . "//?/f:/elpa-mirror/org/")
("gnu-cn" . "//?/f:/elpa-mirror/gnu/")))

1.6 emacs中无法启动pythonshell

每次启动python shell都报错

Unknown option: --
usage: c:\Users\xxxxx\AppData\Local\Programs\Python\Python36-32\python.exe [option] ... [-c cmd | -m mod | file | -] [arg] ...
Try `python -h' for more information. Process Python exited abnormally with code 2

解决办法,M-x customize-group,接着输入python回车,然后找到python shell interpreter args。然后改成-i,左键state然后选save for future session. 如果是spacemacs,需要在.spacemacs文件中把参数写到 dotspacemacs-configuration-layers的python变量里。

(python :variables
python-test-runner '(nose pytest)
python-shell-interpreter-args "-i")

2 python

 

2.1 builtin fuction

2.2 查看python内置函数的方法

dir(__builtins__)

2.3 a test is not a unit test if :

  • read or write from the filesystem
  • read or write from the network
  • read or write from a database
  • cannot run tests in parallel
  • test suite depends on a environment configuration
  • the execution order of the tests is important to make all tests passes
  • test is run not fast

3 网络问题

 

3.1 使用lantern和设置git代理解决 gitgub clone 缓慢的问题。

 

3.1.1 lantern

首先,你需要下载lantern,这是链接

3.1.2 STARTED GIT代理

Git 目前支持的三种协议 git://、ssh:// 和 http://,其代理配置各不相同:core.gitproxy 用于 git:// 协议,http.proxy 用于 http:// 协议,ssh:// 协议的代理需要配置 ssh 的 ProxyCommand 参数。对于所有的协议全部使用 SSH 隧道进行代理

  • GIT 协议的配置
  • lantern的代理端口:

http(s)代理服务器):127.0.0.1:54932 socket代理服务器:127.0.0.1:54931 如果不确定,双击lantern会打开一个web页面,点击【设置】》【高级设置】,会显示lantern的代理配置。

  • 下载connect工具

使用 https://bitbucket.org/gotoh/connect 工具进行代理的转换,各发行版一般打包为 proxy-connect 或者 connect-proxy。打开上面的链接后,在页面的左边最下面点击Downloads。点击connect-1.104-win32-msvc.zip下载到本地。解压文件,将文件connect.exe所在的目录添加到环境变量的PATH中。打开CMD命令窗口,输入connect回车。如果提示:

connect --- simple relaying command via proxy.
Version 1.104
usage: C:\Program Files\Git\mingw64\bin\connect.exe [-dnhst45] [-p local-port]
[-H proxy-server[:port]] [-S [user@]socks-server[:port]]
[-T proxy-server[:port]]
[-c telnet-proxy-command]
host port

表示配置正确。

  • 建立 socks5proxywrapper 文件
#!/bin/sh
connect -S 127.0.0.1:54931 "$@"
  • 配置 git 修改你的home目录下的.gitconfig文件,如果没有请新建一个
[core]
gitproxy = ~/socks5proxywrapper

或者

export GIT_PROXY_COMMAND="~/socks5proxywrapper"
  • SSH 协议的配置
  • 建立 ~/soks5proxyssh 文件
#!/bin/sh
ssh -o ProxyCommand="~/socks5proxywrapper %h %p" "$@"
  • 配置 git 使用该 wrapper
export GIT_SSH="~/socks5proxyssh“

当然也可以直接配置 ~/.ssh/config 的 ProxyCommand

  • HTTP 协议的配置

修改你的home目录下的.gitconfig文件,如果没有请新建一个

[http]
#这里是因为 Git 使用 libcurl 提供 http 支持
proxy = socks5://127.0.0.1:54931
  • 所有协议全部使用 http 代理

在前一部分的基础上, /path/to/socks5proxywrapper 文件改为

#!/bin/sh
connect -H 192.168.1.100:8080 "$@"
  • HTTP 协议配置

[http] proxy = http://127.0.0.1:54931

  • 针对域名启用代理

gitproxy 参数提供 * for * 结构,具体看 man git-config 的 core.gitproxy 部分。

4 rsync同步elpa库

 

4.1 下载windows 客户端

4.2 添加客户端bin目录到环境变量中

  • 将安装包解压到任意位置。
  • 添加客户端路径到path变量中右键点击计算机》属性》高级系统设置》高级》环境变量

找到系统变量的PATH变量,点击编辑按钮。 windows10系统点击新建,输入客户端的bin目录绝对路径(如:F:\rsync\bin),点击确定。windows其他版本系统,将路径添加到值的最后。

4.3 同步elpa库

rsync -avzP –delete rsync://mirrors.tuna.tsinghua.edu.cn/elpa/ /cygdrive/f/elpa-mirror

-delete 选项,表示客户端上的数据要与服务器端完全一致,如果 linuxsirhome目录中有服务器上不存在的文件,则删除。最终目的是让linuxsirhome目录上的数据完全与服务器上保持一致;用的时候要 小心点,最好不要把已经有重要数所据的目录,当做本地更新目录,否则会把你的数据全部删除; /cygdrive/f/elpa-mirror 为同步到本地的目录。配置文件中写路径时格式要转换,例如我这里把目录放到f盘,则这么写/cygdrive/f/你的目录

整个镜像约占 1 GB,emacs-china rsync地址为:

rsync://elpa.emacs-china.org/elpa/

下游 Tsinghua Mirrors 的 ELPA 镜像 也提供了 Rsync 服务,地址是:

rsync://mirrors.tuna.tsinghua.edu.cn/elpa/

上游 GNU ELPA 和 MELPA 提供了 Rsync 服务,其地址分别为:

rsync://elpa.gnu.org/elpa/
rsync://melpa.org/packages/

4.4 添加自动同步任务

将同步命令添加到window的任务列表中,实现自动同步

  • 将同步命令保存到一个以cmd结尾的文本文件中
  • 在Window中添加任务计划,不同的系统,操作有点不一样 windows xp/Server 2003 : 开始->设置->控制面板->任务计划->打开添加任务计划->下一步 windows 7/Server 2008 : 开始-> 控制面板 -> 管理工具 -> 任务计划 windows 10 在运行中输入 任务计划程序 打开任务计划面板在常规中填写任务名称,在触发器中设置同步间隔,在操作中指定要执行的文件。

Created: 2017-08-23 周三 08:08

spacemacs及python学习-坑之记录的更多相关文章

  1. Python学习日记之记录

    列表 list=['1','2'] 元组 zoo=('1','2''3') 字典 d = {key1 : value1, key2 : value2 }

  2. python学习第二次笔记

    python学习第二次记录 1.格式化输出 name = input('请输入姓名') age = input('请输入年龄') height = input('请输入身高') msg = " ...

  3. Python学习记录day6

    title: Python学习记录day6 tags: python author: Chinge Yang date: 2016-12-03 --- Python学习记录day6 @(学习)[pyt ...

  4. Python学习记录day5

    title: Python学习记录day5 tags: python author: Chinge Yang date: 2016-11-26 --- 1.多层装饰器 多层装饰器的原理是,装饰器装饰函 ...

  5. 记录Python学习中的几个小问题

    记录Python学习中的几个小问题,和C#\JAVA的习惯都不太一样. 1.Django模板中比较两个值是否相等 错误的做法 <option value="{{group.id}}&q ...

  6. [Python 学习]2.5版yield之学习心得 - limodou的学习记录 - limodou是一个程序员,他关心的焦点是Python, DocBook, Open Source …

    [Python 学习]2.5版yield之学习心得 - limodou的学习记录 - limodou是一个程序员,他关心的焦点是Python, DocBook, Open Source - [Pyth ...

  7. python学习第三次记录

    python学习第三次记录 python中常用的数据类型: 整数(int) ,字符串(str),布尔值(bool),列表(list),元组(tuple),字典(dict),集合(set). int.数 ...

  8. Python学习记录day8

    目录 Python学习记录day8 1. 静态方法 2. 类方法 3. 属性方法 4. 类的特殊成员方法 4.1 __doc__表示类的描述信息 4.2 __module__ 和 __class__ ...

  9. Python学习记录day7

    目录 Python学习记录day7 1. 面向过程 VS 面向对象 编程范式 2. 面向对象特性 3. 类的定义.构造函数和公有属性 4. 类的析构函数 5. 类的继承 6. 经典类vs新式类 7. ...

随机推荐

  1. 13.Linux键盘驱动 (详解)

    版权声明:本文为博主原创文章,未经博主允许不得转载. 在上一节分析输入子系统内的intput_handler软件处理部分后,接下来我们开始写input_dev驱动 本节目标: 实现键盘驱动,让开发板的 ...

  2. 高德地图markers生成和点击

    因为自己平时上班也是比较忙,遇到什么写什么,希望能给现在的你一些帮助,都是自己在工作中遇到的问题,给自己一个提醒,也是分享 相信很多人在做高德地图开发的时候,对于新手,官方的demo解读单个marke ...

  3. Windows下chm转换为html的超简单方法

    摘要:通过调用Windows命令,将chm 文件转换为html 文件 概述:很多程序员朋友都会遇到这样的问题,看一个离线版的帮助文档(chm文件),总会产生一个索引文件(该文件的chw文件), 而且有 ...

  4. linux中文乱码

    txt文件在linux环境下打开呈现了乱码状态. 解决方法1:在linux用iconv命令,如乱码文件名为zhongwen.txt,那么在终端输入如下命令: iconv -f gbk -t utf8 ...

  5. PHP中foreach循环传值问题

    首先看一段代码: <?php $a=array('ab','cd','ef'); $count=3; foreach($a as $key=>$value){ $value='abcdef ...

  6. Spark任务流程笔记

    Spark学习笔记总结 02. Spark任务流程 1. RDD的依赖关系 RDD和它依赖的父RDD(s)的关系有两种不同的类型,即窄依赖(narrow dependency)和宽依赖(wide de ...

  7. TComboBox组件重要属性和事件

    TComboBox组件的重要属性 CharCase--------此属性用于设置编辑框内文字的大小写 DropDownCount---此属性用于设置当用户下拉组合框时不需要加滚动条就能显示的项的个数 ...

  8. Css Html 大风车

    <div style = "height:500px;width:500px;position:static;float:left;"><div class=&q ...

  9. 随机算法 poj 2576 Tug of War

    Tug of War Time Limit: 3000MS   Memory Limit: 65536K Total Submissions: 8187   Accepted: 2204 Descri ...

  10. Deep learning:一(基础知识_1)

    本文纯转载: 主要是想系统的跟tornadomeet的顺序走一遍deeplearning; 前言: 最近打算稍微系统的学习下deep learing的一些理论知识,打算采用Andrew Ng的网页教程 ...