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. PHP 动态调整内存限制

    最近公司的一个PHP项目在操作大文件的时候总是抛出这个异常 Fixing PHP Fatal Error: Allowed Memory Size Exhausted 经过一番调试后发现是达到了PHP ...

  2. 初次就这么给了你(Django-rest-framework)

    Django-Rest-Framework Django-Rest框架是构建Web API强大而灵活的工具包. 简单粗暴,直奔主题. pip install django pip install dj ...

  3. vue路由跳转 vue-router的使用

    1.路由对象和路由匹配 路由对象,即$router会被注入每个组件中,可以利用它进行一些信息的获取.如 属性 说明 $route.path 当前路由对象的路径,如'/view/a' $rotue.pa ...

  4. 修改NSMutableArray中的元素时的注意事项

    最近做项目遇到从文件加载数组,并对数组中的元素进行操作的问题,特意写了个Demo,记录下要注意的东西: 代码如下: NSArray *array = @["]; NSMutableArray ...

  5. Racing Car Computer dp

    Racing Car Computer Input: Standard Input Output: Standard Output   The racing cars of today are equ ...

  6. C++PrimerPlus第6版 第四章——复合类型

    1,复合类型主要包含:数组.结构.联合.枚举.类.指针.引用等. 2,数组.长度必须确定.即编译阶段,数组的长度就得确定好.所以只能使用常量(#define.const)声明数组长度.如果使用变量声明 ...

  7. 技术领导(Technical Leader)画像

    程序员都讨厌被管理,而乐于被领导.管理的角色由PM(project manager)扮演,具体来说,PM负责提需求.改改改.大多数情况,PM是不懂技术的,这也是程序员觉得PM难以沟通的原因.而后者由技 ...

  8. 由 System.arraycopy 引发的巩固:对象引用 与 对象 的区别

    作者:林冠宏 / 指尖下的幽灵 掘金:https://juejin.im/user/587f0dfe128fe100570ce2d8 博客:http://www.cnblogs.com/linguan ...

  9. 利用工具爬取网站所有的html和js文件

    例图: 该工具下载地址为:http://www.tenmax.com/teleport/ultra/download.htm

  10. ZOJ2105 终于找到错误

    ZOJ2105:点击打开链接 错误代码 #include<stdio.h> #include<stdlib.h> int q[110]; int main() { int a, ...