`
85977328
  • 浏览: 1873350 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

python入门及IDE搭建

 
阅读更多
IDE:eclipse3.8.2
插件:PyDev 2.8.2
python:python-2.7.6.amd64
具体软件,请朋友们自行下载。
版本一定要对应,pyDev只能选择2.8。选择3.4则eclipse3.8.2认不出来。另外快捷键会冲突,需要修改一下。
启动eclipse
【设置快捷键】
选择window -> preference -> General -> keys
查找Word completion,在binding:里面,按退格键(即:删除快捷键的意思)
查找Content Assist,在binding里面,添加快捷键alt+/

【关联python】
选择window -> preference -> PyDev -> INterpreters -> Python Interpreter
然后在上面的框里,new,设置python.exe的路径

【例子】
然后启动项目,快乐的体验python吧。其实入门很简单,找几个现成的例子学习一下就可以。
一个简单的demo,这个事我兄弟大伟写的,他的博客是http://ailikes.iteye.com/
其中的语法,都可以通过eclipse的自动提示进行完成。非常爽。基本语法包括异常处理,日期处理,文件操作,for循环,if语句等等吧。请大家自行体会吧
# @author: xudawei
# @date:2014-03-12

import os
import shutil
import time
import socket
import sys
import logging
from test.test_socket import try_address


CURRENT_TIME = time.strftime('%Y%m%d%H%M%S', time.localtime(time.time()))
DEPLOY_HOME = "/application/search/vertical-search"
# logs directory
LOG_HOME = "/data0/search/vertical-search/vertical-search-deploy/logs"
# temp directory
TMP_HOME = "/tmp/src"
BACKUP_HOME = "/data0/search/vertical-search/backup/%s" % CURRENT_TIME
SERVER_IP = ["10.10.160.68", "10.10.160.69", "10.10.160.70"]
VERTICAL_SEARCH_SVN = "http://svn.pangu365.com/svn/techrd/apps/base_application/ba-vertical-search/trunk"

def package():
    try:
        # download source
        # maybe required username and password
        os.system("rm -rf %s" % TMP_HOME)
        os.system("svn export %s %s" % (VERTICAL_SEARCH_SVN, TMP_HOME))
        # generate package
        os.system("cd %s/vertical-search-core && mvn clean -U deploy -Dmaven.test.skip=true -T 1C" % TMP_HOME)
        logging.info("package success")  
    except Exception, e:
        logging.error("package error: %s" % e)
        
# backup and deploy
def deployAll():
     deployService()
     deploySchedule()
     deployImport()
     deployShell()
     
def deployService():
    # backup,stop,delete,scp,start
    try:
        os.system("cd %s/vertical-search-service && mvn clean package -U -Dmaven.test.skip=true -Ponline -T 1C" % TMP_HOME)
        for index, item in enumerate(SERVER_IP):
            os.system("ssh %s \"cp -r %s/vertical-search-service/ %s\"" % (item, DEPLOY_HOME, BACKUP_HOME))
            os.system("ssh %s \"sh %s/vertical-search-service/bin/server.sh stop\"" % (item, DEPLOY_HOME))
            os.system("ssh %s \"rm -rf %s/vertical-search-service/* \"" % (item, DEPLOY_HOME))
            os.system("scp -r %s/vertical-search-service/target/deploy/* %s:%s/vertical-search-service/" % (TMP_HOME, item, DEPLOY_HOME))
            os.system("ssh %s \"sh %s/vertical-search-service/bin/server.sh start \"" % (item, DEPLOY_HOME))
            logging.info("deployService success at : %s" % item)  
    except Exception, e:
        logging.error("deployService error: %s" % e)      
              
# schedule same as service
def deploySchedule():
    try:
        os.system("cd %s/vertical-search-schedule && mvn clean package -U -Dmaven.test.skip=true -Ponline -T 1C" % TMP_HOME)
        for index, item in enumerate(SERVER_IP):
            os.system("ssh %s \"cp -r %s/vertical-search-schedule/ %s\"" % (item, DEPLOY_HOME, BACKUP_HOME))
            os.system("ssh %s \"sh %s/vertical-search-schedule/bin/server.sh stop\"" % (item, DEPLOY_HOME))
            os.system("ssh %s \"rm -rf %s/vertical-search-schedule/* \"" % (item, DEPLOY_HOME))
            os.system("scp -r %s/vertical-search-schedule/target/deploy/* %s:%s/vertical-search-schedule/" % (TMP_HOME, item, DEPLOY_HOME))
            os.system("ssh %s \"sh %s/vertical-search-schedule/bin/server.sh start \"" % (item, DEPLOY_HOME))
            logging.info("deploySchedule success at : %s" % item)  
    except Exception, e:
        logging.error("deploySchedule error: %s" % e)   
                         
def deployImport():
    try:
        for index, item in enumerate(SERVER_IP):
            os.system("ssh %s \"cp -r %s/vertical-search-import/ %s\"" % (item, DEPLOY_HOME, BACKUP_HOME))
            os.system("ssh %s \"rm -rf %s/vertical-search-import/* \"" % (item, DEPLOY_HOME))
            os.system("scp -r %s/vertical-search-import/* %s:%s/vertical-search-import/" % (TMP_HOME, item, DEPLOY_HOME))
            logging.info("deployImport success at : %s" % item)  
    except Exception, e:
        logging.error("deployImport error: %s" % e)
        
def deployShell():
    try:
        for index, item in enumerate(SERVER_IP):
            os.system("ssh %s \"cp -r %s/vertical-search-shell/ %s\"" % (item, DEPLOY_HOME, BACKUP_HOME))
            os.system("ssh %s \"rm -rf %s/vertical-search-shell/* \"" % (item, DEPLOY_HOME))
            os.system("scp -r %s/vertical-search-shell/* %s:%s/vertical-search-shell/" % (TMP_HOME, item, DEPLOY_HOME))
            logging.info("deployShell success at : %s" % item)  
    except Exception, e:
        logging.error("deployShell error: %s" % e)
        
if __name__ == "__main__":
    try:
        os.system("mkdir -p %s" % LOG_HOME)
        logging.basicConfig(level=logging.INFO, format="%(asctime)s - %(levelname)s - %(message)s", filename=LOG_HOME + "/deploy.log")
        
        logging.info("begin deploy vertical-search")
        # prepared
        package()
        # deploy
        if len(sys.argv) == 1:
            deployAll()
        else:
            for index, item in enumerate(sys.argv):
                if item == sys.argv[0]:
                    logging.info("shell name is %s" % item)
                elif item == "shell":
                    logging.info("the deploy project is shell")
                    deployShell()
                elif item == "import":
                    logging.info("the deploy project is import")
                    deployImport()
                elif item == "service":
                    logging.info("the deploy project is service")
                    deployService()
                elif item == "schedule":
                    logging.info("the deploy project is schedule")
                    deploySchedule()
                else:
                     print("input error shell|import|service|schedule")
                     
        localIP = socket.gethostbyname(socket.gethostname())
        logging.info("this Script is running at: %s" % localIP)
        # delete all source
        shutil.rmtree(TMP_HOME)
        os.system("rm -rf %s" % TMP_HOME)
        logging.info("deploy vertical-search success")
    except Exception, e:
        logging.error("main error: %s" % e)
  • 大小: 113.5 KB
  • 大小: 159 KB
1
0
分享到:
评论

相关推荐

    Python入门教程示例

    环境搭建:介绍如何安装Python解释器和相关开发环境,包括常用的集成开发环境(IDE)或文本编辑器,并展示如何配置环境变量等。 基本语法:介绍Python的基本语法规则,包括变量定义、数据类型、运算符、条件语句、...

    Python入门大礼包:从基础到实战的编程学习资源

    探索Python编程的奥秘,本Python入门大礼包为您提供了一条从零开始的学习路径。资源合集包含Python语言的核心概念、环境安装与配置、基础语法、实用库的介绍,以及通过实例引导的编程练习。 内容概要:1.Python基础...

    python逆向入门教程

    我们在Windows 10上开始python逆向之旅,首先开始搭建开发环境,python解释器使用最新的3.6.1,IDE使用PyCharm社区版2017.1.3,下载地址如下所示,下载完成后直接双击安装包安装即可,随后设置PyCharm的Project ...

    Python编程语言的基础入门教程.docx

    Python 的安装与环境搭建 要使用 Python 编程,需要先安装 Python 解释器。你可以从 Python 的官方网站下载并安装最新版的 Python。在安装过程中,需要根据自己的操作系统选择合适的版本(如 Windows 或 Linux 版本...

    python selenium2 开发环境搭建

    基于python和selenium2做自动化测试,你必须会搭建基本的开发环境,掌握python基本的语法和一个IDE来进行开发,这里通过详细的讲解,介绍怎么搭建python和selenium2开发环境,并提供一个基本入门的代码,后续逐步...

    python+selenium

    python+selenium IDE自动化测试 环境搭建及入门

    利用Python写的人脸识别示例代码参考

    适合学习python 并想深度学习人脸识别的同学,有人脸自动检测功能,具体硬件环境...题外话:Python入门Tips PS1:如何安装whl文件 1.先安装PIP 2.CMD命令进入D:\Python27\Scripts里面后再执行PIP命令安装pip install

    leetcode下载-awesome-python-io:Python十分钟入门指南/技术图谱,持续更新收集整理中,期待你的参与

    Python十分钟入门指南/技术图谱 我的学习记录,将学习Python过程中遇到的好项目,好技能,好分享记录下来,方便自己查找使用,也希望对你有帮助~ the roadmap of my study and learn from others 环境安装 【Python...

    Selenium2 Python自动化测试实战(第二版)

    第2章 测试环境搭建 第3章 Python基础 第4章 WebDriver API 第5章 自动化测试模型 第6章 Selenium IDE 第7章 unittest单元测试框架 第8章 自动化测试高级应用 第9章 Selenium Grid2 第10章 Python多线程 第11章 自动...

    python调用OpenCV实现人脸识别功能

    Python调用OpenCV实现人脸识别,供大家参考,具体内容如下 ...题外话:Python入门Tips PS1:如何安装whl文件 1.先安装PIP 2.CMD命令进入D:\Python27\Scripts里面后再执行PIP命令安装pip install

    leetcode下载-python-instruction:python-指令

    用pycharm快速入门Python 很多时候我们会对一些事情突然感兴趣啊,比如学游戏编程,学烘焙,中午想去吃辛拉面等等。 有的事情可以短时间去做完的,比如吃拉面,这样它被成功执行的机会就比较高。然后做一个小游戏/...

    基于arduino的办公室环境监测与可视化系统完整源码及资料+项目说明(课程设计).zip

    3.项目具有丰富的拓展空间,不仅可作为入门进阶,也可直接作为毕设、课程设计、大作业、初期项目立项演示等用途。 4.当然也鼓励大家基于此进行二次开发。在使用过程中,如有问题或建议,请及时沟通。 5.期待你能在...

    iuhyiuhkjh908u0980

    选择项目目录结构:一个项目开始的时候,选择一个合适的项目目录结构,是一件很重要的事情,可能你会很习惯由IDE自动创建的目录结构,如Elcipse或JB,但有些时候,这样的目录结构可能并不是最好的,所以,在项目开始...

Global site tag (gtag.js) - Google Analytics