《Python Web开发实战》踩地雷记17/3/22
2017-03-22 10:10
281 查看
1.包管理
使用pip
系统自带的pip版本较低,可使用pip的自更新来升级
建议经常更新
2.setuptools
Python包管理工具setuptools详解
setuptools是Python distutils增强版的集合,它可以帮助我们更简单的创建和分发Python包,尤其是拥有依赖关系的。用户在使用setuptools创建的包时,并不需要已安装setuptools,只要一个启动模块即可。
安装
脚本安装
使用pip
> sudo apt-get install python-pip -yq
系统自带的pip版本较低,可使用pip的自更新来升级
> sudo pip install pip -U -q #-q静默安装
建议经常更新
2.setuptools
Python包管理工具setuptools详解
setuptools是Python distutils增强版的集合,它可以帮助我们更简单的创建和分发Python包,尤其是拥有依赖关系的。用户在使用setuptools创建的包时,并不需要已安装setuptools,只要一个启动模块即可。
安装
> sudo apt-get install python-setuptools
脚本安装
>wget http://peak.telecommunity.com/dist/ez_setup.py[/code]sudo python ez_setup.py
如果是开源项目,建议使用类似下面的兼容代码try: from setuptools import setup except ImportError: from distutils.core import setup
3.entry_points
发布的包经常需要一个或多个可执行的入口,以便用户直接执行和调用。
这里用flake8:
Flake8 runs all the tools by launching the single flake8 command
Flake8通过启动单个flake8命令运行所有工具。
使用entry_points的优点,就是可以让这些入口点能够被其他Python程序动态发现包所提供的功能,但是对应的代码的耦合度非常低。
坑:>sudo apt-get update时显示
运行> sudo apt-get dist-upgrade因为遇到了神奇巨坑,所以从头来了一遍,这里记录一下详细的过程
1.安装VirtualBox
VirtualBox
2.使用Vagrant安装
Vagrant,建立一个开发环境目录,下载需要的box,直接下载比较慢,可以看这里如何下载Vagrant的Box,我发现用4G流量下载比用校园网快多了。打开 VagrantFile,修改 config.vm.box 配置为本地文件,将下载的box放到开发环境目录下,修改box的名字:config.vm.box = "virtualbox.box"
之后就可以执行> vagrant up
之后开始配置VagrantFile文件,VagrantFile 原谅我还得用着谷歌翻译才能看得懂config.vm.provider "virtualbox" do |v| v.customize ["modifyvm", :id, "--name", "first1", "--memory", "2046"] end
这行设置的意思是调用VBoxManage的modifyvm的命令,设置VM的名称为first1,内存为2048MB。config.vm.hostname = "WEB"
设置hostname非常重要,因为当我们有很多台虚拟服务器的时候,都是依靠hostname來做识别的config.vm.network :forwarded_port, guest: 9000, host: 9000 config.vm.network :forwarded_port, guest: 3141, host: 3141 config.vm.network :forwarded_port, guest: 5000, host: 5000
这几句厉害了,forwarded_port用来设置端口转发,“guest:9000,host:9000”表示访问本机9000端口的流量会转发到虚拟机上的9000端口,反之亦然。例如你在你的虚拟机上使用nginx跑了一个Go应用,那么你在host机器上的浏览器中打开http://localhost:9000时,Vagrant就会把这个请求转发到VM里面跑在9000端口的nginx服务上。config.ssh.username = 'ubuntu'
设置Vagrant默认情况下SSH的用户名。如果提供者检测到更合适的用户,则可以自由重写。config.ssh.password = 'ubuntu'
设置了Vagrant将用来认证SSH用户的密码。config.ssh.insert_key = false
如果true,Vagrant将自动插入用于SSH的密钥对,以便在检测到机器时替换Vagrant的默认不安全密钥。默认情况下,这是真的。只有在尚未使用私钥进行身份验证或者您依赖于默认的不安全密钥时才有效。如果不关心项目的安全性,并希望继续使用默认的不安全密钥,就将其设置为false。config.ssh.private_key_path = ["~/.ssh/id_rsa"]
用于SSH到客户机的私钥的路径。默认情况下,是Vagrant随附的不安全私钥,因为这是公共使用的。如果使用自定义SSH密钥创建自己的自定义框,则应指向该私钥。还可以通过将此设置为数组来指定多个私钥。config.vm.provision "file", source: "~/.ssh/id_rsa.pub", destination: "~/.ssh/authorized_keys"
Configures provisioners on the machine, so that software can be automatically installed and configured when the machine is created.config.vm.synced_folder ".", "/vagrant", disabled: true
在机器上配置同步的文件夹,以便主机上的文件夹可以与客机同步。
修改完Vagrantfile的配置后,记得要用> vagrant reload
命令来重启VM之后才能使用VM更新后的配置。但这个VagrantFile需要先执行> ssh-keygen
如果出现
‘ssh-keygen’ 不是内部或外部命令,也不是可运行的程序 或批处理文件。
要先安装git,推荐一个教程Git教程在环境变量中修改PATH
相关文章推荐
- 《Python Web开发实战》踩地雷记17/3/21
- 《Python Web开发实战》踩地雷记17/3/24
- 《Python Web开发实战》踩地雷记17/3/27
- 《Python Web开发实战》踩地雷记17/3/23
- 《Python Web开发实战》踩地雷记17/3/26
- java生成不重复的随机数【某个范围0-10】或者【某个数组int[1,3,56,14,26,22,17]】
- 17-集合框架-22-常用对象API(集合框架-TreeSet集合)
- 在windowsxp系统内删除linux系统分区后出现grub error 17和grub error 22系统无法启动的解决办法
- 超星视频讲座笔记(2014-3-19,4-14,4-16,4-17,4-22,4-26)
- 【数据中国大讲坛】20121118讲座录音合集(二)17-22
- LeetCode39/40/22/77/17/401/78/51/46/47/79 11道回溯题(Backtracking)
- /*有数组{2,5,6,11,15,17,22,34,45},将用户输入的任意整数放入数组正确的位 置中,保证顺序不能乱掉。例如:用户输入9,那么数组为{2,5,6,9,11,15,17,22 ,34,45}*/
- 17_7_22 一个数组中有一个数字的次数超过了数组的一半,求出这个字符。
- 线性表17 - 数据结构和算法22
- NetBeans 时事通讯(刊号 # 17 - Jul 22, 2008 )
- 线性表17 - 数据结构和算法22
- NetBeans 时事通讯(刊号 # 17 - Jul 22, 2008 )
- 找规律 (1) 1, 2, 4, 7, 8, 11, 14, 16, 17, 19, 22, 26, 28, 29, 41, 44, ?
- 前端学习17/07/22
- 线性表17 – 数据结构和算法22