1 Setting up Your Environment

Total Page:16

File Type:pdf, Size:1020Kb

1 Setting up Your Environment APS360 Winter 2019 1 Setting Up Your Environment 1.1 Install Anaconda Distribution of Python 3.6 We will be using the Anaconda distribution of Python 3.6, which comes pre-installed with several scientific computing libraries including NumPy and Matplotlib. 1. Download the Python 3.6 version from https://www.anaconda.com/download/ for your spe- cific operating system (OS), such as Windows, macOS, or Linux. 2. The detailed installation instruction steps are outlined in https://docs.anaconda.com/ anaconda/install/ for each OS. You do not need to install Microsoft Visual Studio Code when prompted. For Linux, you can skip step 2 (hash check) as it is optional. 1.2 Install PyCharm Community IDE For our Integrated Development Environment (IDE), we will be using PyCharm Community. NOTE: it might be possible to obtain free student license for PyCharm Professional. Check https://www.jetbrains.com/student/ for more details. 1. Download the latest Community version from https://www.jetbrains.com/pycharm/download/ for your specific OS. 2. The installation instruction for PyCharm Community for each OS can be found at https: //www.jetbrains.com/help/pycharm/install-and-set-up-pycharm.html. During the Windows Installation: Check off the box for \Download and install JRE x86 by JetBrains", as shown in Figure 1. You can optionally check off to create a desktop shortcut and/or create associations with .py files to be opened automatically in PyCharm. Figure 1: Windows PyCharm installation For Mac Installation: Simply drag the PyCharm icon over to the \Applications" folder: 1 APS360 Winter 2019 Figure 2: Mac PyCharm installation. 1.3 Setting up Anaconda Python environment For this course, we will make use of a 'virtual environment' which isolates Python tools and libraries to be the right ones that we specify. You will create a virtual environment using Anaconda called aps360, using the `conda` command. Do the following steps to create a conda virtual environment: 1. Open up a command line terminal. In Windows, you can search for "Command" and open Command Prompt. On Mac and Linux, you can open up the \Terminal" application 2. To create the virtual environment, run the command: conda create -n aps360 python=3.6 anaconda This process may take a while. 3. To test that the environment works, activate the environment by running: source activate aps360 (Mac/Linux) activate aps360 (Windows) You should see a (aps360) at the beginning of the line. 4. To exit from the environment, you can simply close the window, or run: source deactivate (Mac/Linux) deactivate (Windows) Then the (aps360) should disappear from the beginning of the line. 2 APS360 Winter 2019 Figure 3: Starting PyCharm 1.4 Setting up PyCharm Community version to use Anaconda Python Now, we will create a new project in PyCharm and configure it to use the aps360 conda environ- ment: 1. When starting PyCharm for the first time, click \Create a New Project". See Figure 3. 2. In the dialog box that comes after you click \Create a New Project" you should name the project as \aps360" as shown in Figure 4. Click on the \Project Interpreter" to dropdown and select the \Existing interpreter" option (#2 in the figure). By default it will not list your new conda environment in the drop down, so you will need to click on the \..." button (#3). 3. In the pop up window, select \Conda Environment" in the left panel (#1), as shown in Figure 5. Check off "Make available to all projects" (#2). In the Interpreter dropdown box, you should see an option that contains \aps360". Select that one and press \OK" (#4). 4. You should now see that the chosen interpreter is \Python 3.6 (aps360)", as in Figure 6. Click \Create" to finish creating the project. 3 APS360 Winter 2019 Figure 4: Naming your project and choosing your Python interpreter Figure 5: Selecting your aps360 environment for the Python interpreter 4 APS360 Winter 2019 Figure 6: Confirming that you have selected the correct aps360 environment for your project. 5 APS360 Winter 2019 1.5 Installing and Using Jupyter Notebook Jupyter Notebook is a web application for interactive coding. The app is popular in machine learning / data science community because it is easy to perform quick prototyping and visualization using Jupyter Notebook's interactive web interface. In this course, assignments will use Jupyter Notebook. 1. Open up a command line terminal. Find the location of your project (i.e. path for your PyCharm project from Figure 4) and navigate to that directory by typing: cd /Path/to your/Project 2. Jupyter Notebook comes with Anaconda package. To start the app, activate \aps360" envi- ronment (section 1.3), and then type: jupyter notebook 3. Jupyter Notebook should start up with a message in the terminal similar to what is shown in Figure 7. A browser window should automatically open with Jupyter Notebook. If not, use URL from the terminal message (see red box in Figure 7). Figure 7: Terminal message after starting Jupyter Notebook Figure 8: Dashboard screen when Jupyter Notebook starts in your browser 4. Jupyter Notebook's dashboard will show all the directories and files within the location you started Jupyter Notebook in command line terminal. As shown in Figure 8, there is nothing in this project folder yet. You can upload an existing Notebook file (files ending in .ipynb) or create a new one. Let's create a new Python 3 Notebook file (Figure 9) 6 APS360 Winter 2019 Figure 9: From dashboard, existing Notebook file can be uploaded or a new one can be created 5. A Notebook file is composed of \cells", blocks of code that can be run independently. You can add more cells by clicking the \+" button. You can type code normally as you do in IDE or texteditor. You can run a specific cell by clicking the cell and \Run" button at the top, or run multiple cells from \Cell" menu. See Figure 10 and Figure 11 for an example. Figure 10: A new Notebook file with a single cell 6. After running both of the shells in Figure 11, results are shown on the bottom of each cells. If the definition of \b" variable needs to be modified, only the second cell needs to be run again (Figure 12). This helps with quick and easy prototyping and data visualization because parts of the code can be easily modified without running everything again. 7 APS360 Winter 2019 Figure 11: Notebook file can have multiple cells of code and they can be run independently Figure 12: When the second cell is modified, only this needs to be run again. 7. Make sure to decompose your code into blocks of cells, instead of writing everything in a single cell. This modular approach makes it easy to change parts of the code without running everything. 8 APS360 Winter 2019 1.6 Installing PyTorch PyTorch is one of the most popular machine learning library for Python. We will be using PyTorch in this course. 1. Activate \aps360" environment in command line terminal 2. Follow the official download guide for PyTorch from https://pytorch.org/ for your specific operating system. 3. Make sure to choose \Stable" build and \Python 3.6" for language. PyTorch can be easily installed from Anaconda, so select \Conda" for package (choose other options only if you feel more comfortable with them). 4. Chose \None" for CUDA unless you have NVIDIA graphics card that has CUDA support. NOTE: it is not necessary to use GPU for this course. However, for those who really want to try it out, but don't have CUDA supported NVIDIA graphics card, consider cloud GPU computing. There are many services available and a few offer free credit for students (Amazon AWS, Google Cloud Computing, and sometimes Microsoft Azure) 5. (Optional) If you have CUDA supported graphics card, choose the correct CUDA library version (you can find which CUDA library is supported from https://developer.nvidia. com/cuda-gpus. You also need to install the right CUDA library and NVIDIA has a very good documentation on this (https://docs.nvidia.com/cuda/). CUDA installation can get pretty tricky and could consume a bit of time and effort. It is not necessary to GPU for this course, so stick with CPU only PyTorch if it becomes too much hassle. One easy solution for those using Linux is Docker (see the last optional Docker section of this guide) 6. After choosing the right settings, run installation command in your command line terminal (see red box in Figure 13) 7. You can test if PyTorch was installed successfully by bringing up a Python interpreter (e.g. from command line terminal, PyCharm's Python console, or Jupyter Notebook) and running import torch If you have CUDA supported PyCharm installed, you can check the availability of CUDA by running torch.cuda.is_available() If you get \False", it is very likely your NVIDIA graphics card driver or CUDA library is not installed properly. Check by typing \nvidia-smi" and \nvcc {version" in command line terminal. Also, if you are using virtual machine or containers like Docker, you might need something special to make CUDA work in your environment (e.g. for Docker, you need NVIDIA Docker). 9 APS360 Winter 2019 Figure 13: Make sure to choose the right build, OS, language, and CUDA version 2 Preparatory Readings 1. For a concise summary of Python, see: https://learnxinyminutes.com/docs/python3/. You only need to read up to (and including) section 6.1 (Inheritance). Focus on the simpler functionalities like for-loops and manipulating lists. A good exercise is to type out the code in command line or pycharm and run it to see what happens, if you do not understand a specific part.
Recommended publications
  • Fira Code: Monospaced Font with Programming Ligatures
    Personal Open source Business Explore Pricing Blog Support This repository Sign in Sign up tonsky / FiraCode Watch 282 Star 9,014 Fork 255 Code Issues 74 Pull requests 1 Projects 0 Wiki Pulse Graphs Monospaced font with programming ligatures 145 commits 1 branch 15 releases 32 contributors OFL-1.1 master New pull request Find file Clone or download lf- committed with tonsky Add mintty to the ligatures-unsupported list (#284) Latest commit d7dbc2d 16 days ago distr Version 1.203 (added `__`, closes #120) a month ago showcases Version 1.203 (added `__`, closes #120) a month ago .gitignore - Removed `!!!` `???` `;;;` `&&&` `|||` `=~` (closes #167) `~~~` `%%%` 3 months ago FiraCode.glyphs Version 1.203 (added `__`, closes #120) a month ago LICENSE version 0.6 a year ago README.md Add mintty to the ligatures-unsupported list (#284) 16 days ago gen_calt.clj Removed `/**` `**/` and disabled ligatures for `/*/` `*/*` sequences … 2 months ago release.sh removed Retina weight from webfonts 3 months ago README.md Fira Code: monospaced font with programming ligatures Problem Programmers use a lot of symbols, often encoded with several characters. For the human brain, sequences like -> , <= or := are single logical tokens, even if they take two or three characters on the screen. Your eye spends a non-zero amount of energy to scan, parse and join multiple characters into a single logical one. Ideally, all programming languages should be designed with full-fledged Unicode symbols for operators, but that’s not the case yet. Solution Download v1.203 · How to install · News & updates Fira Code is an extension of the Fira Mono font containing a set of ligatures for common programming multi-character combinations.
    [Show full text]
  • Pycharm Reference Card.Pdf
    Default Keymap Default Keymap Default Keymap Editing Compile and Run Usage Search Ctrl + Space Basic code completion (the name of any class, method Alt + Shift + F10 Select configuration and run Alt + F7 / Ctrl + F7 Find usages / Find usages in file or variable) Alt + Shift + F9 Select configuration and debug Ctrl + Shift + F7 Highlight usages in file Ctrl + Alt + Space Class name completion (the name of any project class Shift + F10 Run Ctrl + Alt + F7 Show usages independently of current imports) Shift + F9 Debug Refactoring Ctrl + Shift + Enter Complete statement Ctrl + Shift + F10 Run context configuration from editor Ctrl + P Parameter info (within method call arguments) F5 Copy Debugging Ctrl + Q Quick documentation lookup F6 Move Shift + F1 External Doc F8 Step over Alt + Delete Safe Delete Ctrl + mouse over code Brief Info F7 Step into Shift + F6 Rename Ctrl + F1 Show descriptions of error or warning at caret Shift + F8 Step out Ctrl + F6 Change Signature Alt + Insert Generate code... Alt + F9 Run to cursor Ctrl + Alt + N Inline Ctrl + O Override methods Alt + F8 Evaluate expression Ctrl + Alt + M Extract Method Ctrl + Alt + T Surround with... Ctrl + Alt + F8 Quick evaluate expression Ctrl + Alt + V Introduce Variable Ctrl + / Comment/uncomment with line comment F9 Resume program Ctrl + Alt + F Introduce Field Ctrl + Shift + / Comment/uncomment with block comment Ctrl + F8 Toggle breakpoint Ctrl + Alt + C Introduce Constant Ctrl + W Select successively increasing code blocks Ctrl + Shift + F8 View breakpoints Ctrl + Alt + P Introduce
    [Show full text]
  • Syllabus Instructor
    Syllabus Instructor That's me! I am Eric Reed, and you can email me at [email protected] (mailto:[email protected]) . It's easiest for me if you ask questions through the private or public message center here in the course, and only use email if you have trouble logging in. I get a huge amount of email and there's a chance that a time critical question will get lost if you email me. Why do I get so much email? I am also the STEM Center (http://foothill.edu/stemcenter) director here at Foothill. Which, by the way, is a good place to know. More about that later. I teach both math and computer science. I hold an M.S. in math from CSU East Bay and an M.S. in computer science from Georgia Tech. Feel free to ask me about either one. What you really need to know is that I am glad you are here, and my goal is your success in this course. Office Hours You can find me online on Sundays from 10am­11am at foothill.edu/stemcenter/onlinecs We will hold two office hours on campus as well: Tuesday 11AM ­ Noon Room 4412 Friday 6pm­7pm Room 4601 You may always feel free to contact me for an appointment. Oh, what about this course? CS 3C is an advanced lower division computer programming course using the Python language. The truth is, the course is more about the computer science concepts than the language. We will learn about time complexity (Big­O notation), data structures like trees and hash tables, and topics related to algorithms like sorts and minimum spanning trees To succeed in this class, you need a solid understanding of Python structure and statements, and some experience with object oriented design.
    [Show full text]
  • Parallel Computing in Python
    2017 / 02 / Parallel Computing 09 in Python Reserved All Rights PRACE Winter School 2017 @ Tel-Aviv/Israel Mordechai Butrashvily All material is under 1 Few Words • I’m a graduate student @ Geophysics, Tel-Aviv University • Dealing with physics, geophysics & applied mathematics 2017 / 02 / • Parallel computing is essential in my work 09 • Participated in PRACE Summer of HPC 2013 • Don’t miss a chance to take part Reserved All Rights • Registration ends by 19/2 • Apply here: • https://summerofhpc.prace-ri.eu/apply 2 • You would enjoy it, and if not I’m here to complain… Why Are We Here? • Python is very popular, simple and intuitive • Increasing use in many fields of research & industry 2017 / • Open-source and free 02 / • Many toolboxes available in almost every field 09 • NumPy/SciPy are prerequisite for scientists • Replacement for MATLAB/Mathematica (to some extent) All Rights Reserved All Rights • Natural to ask if parallel computing can be simpler too • Indeed yes! • And also take advantage of existing C/Fortran code 3 (My) Audience Assumptions • Some may know python • But not much of its multiprocessing capabilities 2017 / 02 / • Some may know parallel computing 09 • But not quite familiar with python • Working in Linux environments Reserved All Rights • Not mandatory but highly advised • Knowing a descent programming language 4 (My) Workshop Goals • Don’t worry 2017 / • The workshop was designed for introductory purposes 02 / • First basic theory, then practical hands-on session 09 • Hands-on will be in different levels (3 as usual)
    [Show full text]
  • Scratch, Blocky & Co., Blocksysteme Zum Programmieren
    Notizen Lothar Griess • 26. Mai 2018 Scratch, Blocky & Co., Blocksysteme zum Programmieren Scratch-Alternativen, … https://wiki.scratch.mit.edu/wiki/Alternatives_to_Scratch HTML5 als Grundlage wär besser, die Zukunft von Flash ist unklar. Liste der Modifikationen ... https://scratch-dach.info/wiki/Liste_der_Modifikationen Enchanting (Scratch Modifikation) ... https://scratch-dach.info/wiki/Enchanting_(Scratch_Modifikation) Beetle Blocks ist wie Scratch oder BlocksCAD für 3D-Grafiken... https://scratch-dach.info/wiki/Beetle_Blocks Beetle Blocks GitHub Repository ... https://github.com/ericrosenbaum/BeetleBlocks Beetle Blocks (3D-Design), … http://beetleblocks.com/ Mod Share … z.B.: Supported Scratch-Modifications … https://wiki.scratch.mit.edu/wiki/Mod_Share Scratch … https://wiki.scratch.mit.edu/wiki/Scratch Snap … https://wiki.scratch.mit.edu/wiki/Snap_(Scratch_Modification) Bingo … https://wiki.scratch.mit.edu/wiki/Bingo_(Scratch_Modification) Panther … https://wiki.scratch.mit.edu/wiki/Panther_(Scratch_Modification) Insanity … https://wiki.scratch.mit.edu/wiki/Insanity_(Scratch_Modification) … weitere: Stack, Kitcat, Ghost, Streak • • • Blockly is used by hundreds of projects, most of them educational: ... https://developers.google.com/blockly/ Blockly, RoboBlockly, ... https://code.org/learn Google Education, 1 Stunde, ... https://hourofcode.com/blockly Got PCs with slow (or non-existent) internet access? Download the Blockly tutorials that were the precursor of the Code.org tutorials - a single 3MB ZIP file can be loaded onto any computer or used off a memory stick Blockly Games … https://blockly-games.appspot.com/ App Inventor … http://appinventor.mit.edu/explore/ Code (div.) … https://code.org/ Ozo Blockly (Mini-Roboter) - Ozobot Bit robot using the OzoBlockly editor. … http://ozoblockly.com/ micro:bit (Raspberrs Pi, MicroPython) … http://microbit.org/ BlocklyProp … www.parallax.com/product/program-blocklyprop wonder workshop (dash-Roboter) … www.makewonder.de Robertar, NEPO (div.) … https://lab.open-roberta.org// Made w/ Code (div.
    [Show full text]
  • Python Intro #1
    Python Intro #1 Python is a popular programming language. It was created by Guido van Rossum, and released in 1991. It is used for: • web development (server-side), • software development, • mathematics, • system scripting. What can Python do? • Python can be used on a server to create web applications. • Python can be used alongside software to create workflows. • Python can connect to database systems. It can also read and modify files. • Python can be used to handle big data and perform complex mathematics. • Python can be used for rapid prototyping, or for production-ready software development. Why Python? • Python works on different platforms (Windows, Mac, Linux, Raspberry Pi, etc). • Python has a simple syntax similar to the English language. • Python has syntax that allows developers to write programs with fewer lines than some other programming languages. • Python runs on an interpreter system, meaning that code can be executed as soon as it is written. This means that prototyping can be very quick. • Python can be treated in a procedural way, an object-orientated way or a functional way. Good to know • The most recent major version of Python is Python 3, which we shall be using in this tutorial. However, Python 2, although not being updated with anything other than security updates, is still quite popular. • In this tutorial Python will be written in a text editor. It is possible to write Python in an Integrated Development Environment, such as Thonny, Pycharm, Netbeans or Eclipse which are particularly useful when managing larger collections of Python files. • Python Syntax compared to other programming languages • Python was designed for readability, and has some similarities to the English language with influence from mathematics.
    [Show full text]
  • Python Programming
    Python Programming 1. Python 3 (v3.8.1) 2. Visual Studio Code (ext. Python, Code Runner) 3. Anaconda Distribution 4. PyCharm (The Python IDE for Professional Developers) Overview Python is an object-oriented programming language created by Guido Rossum in February 1991. It is ideally designed for rapid prototyping of complex applications. It has interfaces to many OS system calls and libraries and is extensible to C or C++. Many large companies use the Python programming language include NASA, Google, YouTube, BitTorrent, etc. Python is a general-purpose language. It has wide range of applications from Web Development (like: Django and Bottle), Scientific And Mathematical Computing (Orange, SymPy, NumPy) to Desktop Graphical User Interfaces (Pygame, Panda3D). The syntax of the language is clean and length of the code is relatively short. It's fun to work in Python because it allows you to think about the problem rather than focusing on the syntax. Python is the fastest growing programming language Most Wanted Programming Languages PYPL PopularitY of Programming Language Most Popular Programming Languages 1965 - 2019 Audience This lecture has been prepared for the beginners to help them understand the basic to advanced concepts related to Python Programming language. Class Prerequisites Before you start doing practice with various types of examples given in this reference, I'm making an assumption that you are already aware about what is a computer program and what is a computer programming language. Course Goals Python Programming course will prepare you for jobs and careers connected with widely understood software development, which includes not only creating the code itself as a junior developer, but also computer systems design and software testing.
    [Show full text]
  • Comparative Studies of Six Programming Languages
    Comparative Studies of Six Programming Languages Zakaria Alomari Oualid El Halimi Kaushik Sivaprasad Chitrang Pandit Concordia University Concordia University Concordia University Concordia University Montreal, Canada Montreal, Canada Montreal, Canada Montreal, Canada [email protected] [email protected] [email protected] [email protected] Abstract Comparison of programming languages is a common topic of discussion among software engineers. Multiple programming languages are designed, specified, and implemented every year in order to keep up with the changing programming paradigms, hardware evolution, etc. In this paper we present a comparative study between six programming languages: C++, PHP, C#, Java, Python, VB ; These languages are compared under the characteristics of reusability, reliability, portability, availability of compilers and tools, readability, efficiency, familiarity and expressiveness. 1. Introduction: Programming languages are fascinating and interesting field of study. Computer scientists tend to create new programming language. Thousand different languages have been created in the last few years. Some languages enjoy wide popularity and others introduce new features. Each language has its advantages and drawbacks. The present work provides a comparison of various properties, paradigms, and features used by a couple of popular programming languages: C++, PHP, C#, Java, Python, VB. With these variety of languages and their widespread use, software designer and programmers should to be aware
    [Show full text]
  • Development Environments
    Development Language Site Version Source Comments environment C и C++ Code::Blocks www.codeblocks.org 17.12 + For Win32: compiler http://sourceforge.net/ MinGW GCC projects/codeblocks/fil 5.1.0 es/Binaries/17.12/Win dows/codeblocks- 17.12mingw-setup.exe Microsoft www.visualstudio.com Visual Studio https://visualstudio.mic Submitting tasks in an automated testing Visual C++ Community rosoft.com/ru/thank- system, you should use GNU C/C++ or Clang 2019 you-downloading- C/C++ instead of this compiler. visual- studio/?sku=Communit y&rel=16 CLion jetbrains.com/clion For Windows: Development environment for the C ++ https://www.jetbrains.c language. om/clion/download/do The environment does not contain a compiler! wnload- The MinGW GNU C/C++ compiler must be thanks.html?platform= installed separately, for example, together with windows Code::Block (see above). https://www.jetbrains.com/shop/eform/classroom /faculty?product=ALL Python Python 3 (with python.org 3.7.5 For Win64: IDLE) https://www.python.org /ftp/python/3.7.5/pytho The Python distribution n-3.7.5-amd64.exe contains the IDLE development environment. WingIDE 101 www.wingware.com 7.1.3 For Windows: Development environment for the Python To use Python with the Wing http://wingware.com/p language. The Python interpreter must be IDE or PyCharm, you first ub/wingide- installed separately before installing the Wing need to install Python, then 101/7.1.3.0/wing-101- IDE. the development 7.1.3.0.exe environment you want. PyCharm jetbrains.com/pycharm 2019.2.5 For Windows: Development environment for the Python community https://www.jetbrains.c language.
    [Show full text]
  • Installing Anaconda and Pycharm Marco Sammon Outline
    Installing Anaconda and PyCharm Marco Sammon Outline 1. Download and Install Anaconda 2. Download and Install PyCharm 3. Linking Anaconda to PyCharm 4. Testing a Python Program If you have a mac, make sure to download the macOS installer for both programs Installing Anaconda Downloading Anaconda [Windows] • https://www.anaconda.com/download/ • Make sure you download Python 3.X Installing Anaconda Registering as the default Python will make it easier to link Anaconda and PyCharm Installing Packages in Anaconda • Go to the “Anaconda Prompt” • On Mac it is “Terminal” • pip install [your package name] • Anaconda comes with most useful packages already installed • As a test, you can try “pip install pandas” Installing PyCharm Downloading/Installing PyCharm • https://www.jetbrains.com/pycharm/download/#section=windows • Download the community edition, and associate it with .py files Linking Anaconda to PyCharm Configuring Interpreter • If you try to run a python file for the first time, PyCharm may throw an error • This is likely because the Python interpreter is not configured • Go to: • Settings • Project Interpreter Configuring Interpreter • Once you are at the Project Interpreter screen, click the gear icon in the top right corner to bring up the interpreters window • Then hit the plus sign to add a new interpreter Add System Interpreter from Anaconda • Go to the System Interpreter tab, and select Anaconda3 as the base interpreter – this will make it easier to install packages than using the virtual environment • Wait for the Background
    [Show full text]
  • How Does Pycharm Match up Against Competing Tools? Pycharm Is an IDE for Python Developed by We Tried to Make It As Comprehensive and Competitors Jetbrains
    How does PyCharm match up against competing tools? PyCharm is an IDE for Python developed by We tried to make it as comprehensive and Competitors JetBrains. PyCharm is built for professional Py- neutral as we possibly can. Although we have thon developers, and comes with many features taken care to ensure the data in this docu- Compatibility to deal with large code bases: code navigation, ment was accurate at the time of writing, the automatic refactoring, and other productivity products mentioned in the document are be- Feature Comparison tools, in a single unified interface. JetBrains has ing actively developed and their functionality extensively researched various tools to come changes on a regular basis. Pricing up with a comparison table below. Community Comparison Platform More Information To learn more about the product, please visit our website at jetbrains.com/pycharm Competitors We will compare PyCharm Professional There are other Python IDEs available: Wing and Eclipse are the biggest by market share. Edition with 2 competitors: IDE, Komodo, Spyder, and more. JetBrains For Eclipse we assume that only the PyDev internal research indicates that the vast ma- plugin is installed, though additional func- • Microsoft Visual Studio 2015 Enterprise jority of Python developers who use an IDE tionality may be available in other plugins. with Python Tools for Visual Studio are using PyCharm. After PyCharm, Sublime As some Eclipse plugins have compatibility Text and Vim are the most commonly used issues with each other, we are unable to ver- • Eclipse with PyDev installed editors, pure text editors to be more pre- ify whether configurations with more plugins cise.
    [Show full text]
  • Let There Be Vim a Gentle Proof for Its Superiority
    Let there be vim A gentle proof for its superiority Stefan Huber ITS, FH Salzburg Nov 6, 2019 Stefan Huber: Let there be vim 1 of 26 What is vim? I vim is a powerful text editor and stands for vi improved. I Its predecessor vi originated in the year 1976, just like the second-best editor emacs. I The so-called editor war is (was?) a rivalry between users of emcas and vi. I Neovim is a fork with a bunch of infrastructure improvements. Stefan Huber: Let there be vim 2 of 26 I But ask Jamie Oliver about his knives or Rafael Nadal about his tennis racket. Just knives, just rackets. Developers, administrators, and other computer users edit text files all day long: I Programming in all kind of languages, including web (CSS, SASS, . ) I Linux configuration files, patch files, git commit messages I LATEX, markdown, other text I Mail I Todo manager I Mass renaming of files (moreutils), man page viewer This is, why I not only care about my editor but also about my keyboard. It us just and editor, right? Yes. Stefan Huber: Let there be vim 3 of 26 Developers, administrators, and other computer users edit text files all day long: I Programming in all kind of languages, including web (CSS, SASS, . ) I Linux configuration files, patch files, git commit messages I LATEX, markdown, other text I Mail I Todo manager I Mass renaming of files (moreutils), man page viewer This is, why I not only care about my editor but also about my keyboard.
    [Show full text]