The guide to build a python development VM on your local windows machine to combine both the efficiency of linux and the usability of windows laptop - I use pycharm as an example of python IDE but you can use any IDE that support the remote deployment. For more info about remote deployment function please see the below link
https://basimaly.wordpress.com/2015/12/05/remote-deployment-using-pycharm/
2. Copyright 2016 | The Networker | basimaly.wordpress.com
Why?
• Microsoft windows wins in term of GUI and user experience
• Unix systems win in term of Flexibility and efficiency(especially in
django and web development)
• Why to not combine both?
3. Copyright 2016 | The Networker | basimaly.wordpress.com
Topology
SSH Connection
Internet Connection for
Package Management
Vmnet10
10.10.99.1Bridged-dhclient
My PC Running
Widnows
Internet
4. Copyright 2016 | The Networker | basimaly.wordpress.com
Why DHCLIENT?
• To accommodate with any work environment you connected to
• Cafe`
• Work Network
• Home Network
• Used to connect to internet for package managemenet
5. Copyright 2016 | The Networker | basimaly.wordpress.com
Specification
• Hardware
• 20 GB HDD
• 1GB RAM
• 1 vCPU
• Two network interfaces
• Software
• Centos 7 x64
• Vmware workstation (v10 or later)
• Pycharm - for python development
• IntelliJ IDEA - for Java development
• Phpstorm - for php development
• RubyMine - for Ruby development
9. Copyright 2016 | The Networker | basimaly.wordpress.com
Configure IDE
10. Copyright 2016 | The Networker | basimaly.wordpress.com
Configure IDE(1 of 6)
• Add Remote Interpreter
• Configure a remote creds
• IP Address of VM
• SSH Port
• Password
• Python Interpreter path (use which command)
11. Copyright 2016 | The Networker | basimaly.wordpress.com
Configure IDE(2 of 6)
• You can see the remote interpreter in External Library
12. Copyright 2016 | The Networker | basimaly.wordpress.com
Configure IDE(3 of 6)
• Add Deployment Server (sFTP Server)
13. Copyright 2016 | The Networker | basimaly.wordpress.com
Configure IDE(4 of 6 )
• Configure Mapping between stored files and Remote files
• Why?
• Keep a local copy of your scripts
• You don’t need to fire VM each time you need to look at something
14. Copyright 2016 | The Networker | basimaly.wordpress.com
Configure IDE(5 of 6 )
• Configure Automatic upload
• So you don’t bother yourself for sync problems
15. Copyright 2016 | The Networker | basimaly.wordpress.com
Configure IDE(6 of 6)
• Create New project and choose the location & interpreter
• Location: Our Dropbox Folder
• Interpreter: Remote Interpreter
16. Copyright 2016 | The Networker | basimaly.wordpress.com
Writing the first Code
17. Copyright 2016 | The Networker | basimaly.wordpress.com
WRITING YOUR FIRST CODE(1/3)
• All packages imported are linked to ones in remote server
18. Copyright 2016 | The Networker | basimaly.wordpress.com
WRITING YOUR FIRST CODE(2/3)
• Every few moments, the Pycharm upload the file to remote server
automatically without any intervention from user
19. Copyright 2016 | The Networker | basimaly.wordpress.com
WRITING YOUR FIRST CODE(3/3)
• If you try to run the code
• Pycharm upload the latest file to the server
• Pycharm create a specific configuration interpreter that point to local file in
scripts
• Pycharm send run command over SSH to remote server and return the
console output
20. Copyright 2016 | The Networker | basimaly.wordpress.com
Need any additional Python Package
• Use secureCRT
• It’s better to install any additional packages on remote server from
Linux terminal itself (yum install <package>) not from Pycharm itself
(Sudo access problem)
21. Copyright 2016 | The Networker | basimaly.wordpress.com
• Configure Button map to run “long commands”
SSH Client on Windows
• SecureCRT of course
22. Copyright 2016 | The Networker | basimaly.wordpress.com
Additional links
• Remote Deployment using Pycharm
• Jetbrains