Sunday, August 2, 2015

Yum Install Ipython on CentOS 6

1. Add EPEL repo.
    rpm -Uvh http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
2. Install Ipython with Yum.
    yum install ipython

Share files with You Colleagues through Python Simple HTTP Server

1. Start up the http server at directory where the files to share with. The server script can be found at section 3 in bold.

    $ python -m Simple-HTTPserver.py
    Serving HTTP on 192.168.88.132 port 8000 ...

2. Your colleague can access your http server to check the list of files such as:

    $ curl 192.168.88.132:8000

3. To display the content of the script, for example Simple-HTTPserver.py:
$ curl 192.168.88.132:8000/Simple-HTTPserver.py
import sys
import BaseHTTPServer
from SimpleHTTPServer import SimpleHTTPRequestHandler

HandlerClass = SimpleHTTPRequestHandler
ServerClass  = BaseHTTPServer.HTTPServer
Protocol     = "HTTP/1.0"

if sys.argv[1:]:
    port = int(sys.argv[1])
else:
    port = 8000
server_address = ('192.168.88.132', port)

HandlerClass.protocol_version = Protocol
httpd = ServerClass(server_address, HandlerClass)

sa = httpd.socket.getsockname()
print "Serving HTTP on", sa[0], "port", sa[1], "..."
httpd.serve_forever()
4. To download the script either use wget or redirect the output of above to the file Simple-HTTPserver.py. Please modify the server address to meet your need.

    $ wget 192.168.88.132:8000/Simple-HTTPserver.py
    $ curl 192.168.88.132:8000/Simple-HTTPserver.py > Simple-HTTPserver.py

Run Python script on remote server

Instead of copying over the Python script to the remote server to run, the local script can be run on remote server as follow as long as you are a valid user:

    cat script.py | ssh user@machine python -