Python learning environment - python

I'm looking to get up to speed on Python:
Is it worth working locally via the ActivePython interface, then progressing to a website that supports one of the standard frameworks (Django or Pylons) OR utilize the Google Apps environment?
I want to stay as interactive as possible - making feedback/learning easier.

Go with the Python interpreter. Take one of the tutorials that many people on SO recommend and you're on your way. Once you're comfortable with the language, have a look at a framework like Django, but not sooner.

Not sure what you mean.
For development
First choice: idle -- you already have it.
Second choice: Komodo Edit -- very easy to use, but not as directly interactive as idle.
For deploying applications, that depends on your application. If you're building desktop applications or web applications, you still use similar tools. I prefer using Komodo Edit for big things (either desktop or web) because it's a nice IDE.
What are you asking about? Development tools or final deployment of a finished product?

I learned using the docs and IDLE (with shell). Go to Django well after you fully understand Python.

I would just start locally. Django and Pylons add another layer of complexity to the edit/feedback loop.
Unless your primary focus is to make python websites, just stick with an editor and the console.

ipython and your favorite text editor. spend an hour with these screencasts and you'll be comfy with it in no time.
http://showmedo.com/videotutorials/series?name=CnluURUTV

PyCharm from JetBrains has a nice all in one IDE and it welcomes you with a very good tutorial regarding the usage of the IDE (code completion, IntelliSense etc) based on simple Python examples when you installed it and run it for the first time.
It is interactive, because it explains each step for each topic and lets you try it. Then it checks if you have done it right and gives hints if not.
There is a Community Edition (free) available for download or you can buy the Professional version or have it via subscription.
Visual Studio from Microsoft has also Python integration.
You can choose between a Community Edition (free), or you buy Professional or Enterprise. You can also have an MSDN subscription, then you can always download the latest versions with no extra costs.
There are some template projects available (web projects, Django etc), but starting with it is not so easy as it is with PyCharm, since in Visual Studio there is no interactive tutorial for first use available.
The standard IDE coming with Python is of course IDLE, its latest version can be downloaded here.
However, if you just need an editor supporting Python Syntax, then look for NotePad++ or Visual Studio Code. All of them are free. For quick experiments with Python, there is also pythonfiddle.com or pythontutor.com available.
With pythontutor you can even visualize the execution graphically.
All of these apps / tools mentioned are free.
Then for the Python language and Django you can visit the following websites to start:
in English:
www.python.org/about/gettingstarted - for beginners
www.learnpython.org - beginners & advanced
www.w3schools.com/python - beginners & advanced
docs.djangoproject.com - Django tutorials & documentation
Writing your first Django App - Django step by step
RealPython.com - Various useful topics
Writing a wrapper for C# - call C# methods from Python
in German (use "translate to english" in your browser's context menu):
www.python-lernen.de - beginners & advanced
I am sure there is a lot more out there, but the learning sites mentioned above are free.

Related

Developing an app in visual studio code using python

I’m kinda new to programming and the only programming language I'm kinda familiar with at the moment is python. I heard visual studio code can develop an app for both ios and android devices. However, can the visual studio code accept any programming language? Like, let's say I created a code using python, can the visual studio code develop it right away?
VS Code has an official Python module that works very well so no problems on that front. However, developing for either iOS or Android comes with some additional concerns: in both cases, Python is not "native" on those platforms, so you have to include Python with your app, and there are no "official" Pythons for either platform. You can do it (read up, for example, on a platform/framework called Kivy), but quite frankly if those two specifially are your target you might be better off picking a different language. It's not really an ideal starter project. However you can have a lot of fun just developing your Python skills and run it on platforms where it's better supported - like the one where you plan to run VS Code
!
I explained majority of what I thought in comment, but I'll just duplicate and add some key concepts you need to study.
Visual studio code is a software app that allows you to edit text. It
is not tide to any language. Developing for IOS or Android depends on
language, but not on the editor that you're using. From your question
it seems like you don't understand primary concepts of app development
or programming, so you better study this first.
Things you should study:
What is an application/program?
What is Python application (since you showed your interest in language)?
How basic apps run?
What is IDE and why do you need it?
Your question got many "downvotes" because you don't quite know what you're asking.
Hope this will help!

Which IronPython editor I can use to develop scripts for Tibco Spotfire controls

Can we use any IRONPython editor to develop scripts for Tibco Spotfire controls.
Can we use IDLE editor to develop IRONPython scripts for Tibco Spotfire? If yes then how to integrate the tibco module with IDLE editor, Can anyone help on this??
You should be able to use any development tool (ide) which supports ironpython. One of the best in my point of view is PTVS (Python Tools for Visual Studio), just search for it. But when you want some thing very lightweight with only some syntax hilighting, i prefer using Visual Studio Code or Atom. But PTVS has a lot of nice features. One of the most important ones are those for debugging, because they prevent you from using some console printing or some thing similar as debugging tool. Just take a look at it.
EDIT
As far as i can see, it should work just fines with PTVS. Taking a look at this, is't just some API as any other api: API-Doc
Spotfre has its own IDE for developing scripts but it is very poor one when analysing its functionalities. I dont think you can use any IDE to debug the scripts but you can at least use the one suggested by BendEg to make creation of the code more 'pleasant'.
Spotfire uses IronPython, which is a .NET implementation of python. In other words, is .NET driven by python. To test simple python functions, you can use CodeSkulptor, a cloud based python interpreter. For IronPython, you can use this java based online version but again, this is to test simple scripts

.NET developer moving to ubuntu for development

I've been developing in .NET now for about 3 years. I love the visual studio IDE and sadly I won't be able to use it anymore.
Could someone save me hours of searching the web and reading reviews, and suggest the 'standard' or most popular IDE/Text editor for linux that will get me up and running quickly?
My main goals here are web development backed with Python.
Consider Wing IDE -- IMHO the best commercial IDE for Python, it does support Django if that's what you want (as, apparently, do 80% of Python-based websites; personally, I prefer werkzeug and the like, but maybe that's partly because my "web apps" tend to be more like "web services", with most all the UI/views parts done in HTML/CSS/Dojo;-).
Me, I use Vim (usually in the gvim incarnation) as my "Python IDE" (and I've seen Emacs-using colleagues do at-least-equivalent wizardry, but I just can't get used to Emacs myself!-)... but I have to admit that a Wing IDE expect, particularly if faced with a thorny debug scenario, can do circles around me (and even around the Emacsers). ((So why haven't I made the effort to switch? Maybe because, thanks to fanatical testing, I now face thorny debug scenarios too rarely to make me an expert in any new tool!-)) ((Or maybe because my fingers, having learned vi 30+ years ago, would HATE me if I switched to ANYTHING else;-)).
See this question about Python IDEs.
I use Eclipse + PyDev.
First off, if you want to do web with Python, the Django framework seems like the best choice.
From some quick Googling, the best IDE for Django would be NetBeans with a plugin.
Good luck on learning 'nix development, then!
You can still develop .NET on linux.
Microsoft's Visual Studio Code is an Integrated Development Environment (IDE) with support for Mac, Linux and Windows.
I really like gedit and a terminal. You'll more than likely need to make a few tweaks and maybe install a plugin or two. gedit also has a Python console window plugin if you like that kind of integration. (Edit -> Preferences -> Plugins, then enable the bottom pane with View -> Bottom Pane)
If you're new to Ubuntu I'd still recommend trying a few different tools before you get settled. The impression I get is that text editors are more commonplace than full blown IDEs on Linux. I tried a few IDEs on Ubuntu and it just didn't seem right - gedit is lightweight and I actually enjoy using it more than Textmate on OS X.
If you are willing to pay Wing IDE (http://www.wingware.com/) is the best (IMO)
They have trial versions and a basic version free (https://wingware.com/wing101)
Mono Develop
If you've been using visual studio, then I'd guess that mono develop would be the closest thing. As far as I know, its the best attempt around to be a linux version of visual studio. A quick Google search gives several results for python plugins for mono develop.

What's a good IDE for Python on Mac OS X? [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
Questions asking us to recommend or find a tool, library or favorite off-site resource are off-topic for Stack Overflow as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it.
Closed 8 years ago.
Improve this question
I'm about to start a new job where the coding practices are heavily centered around TDD and refactoring, and whose primary development language is Python. I come from the Java world, and have been a confident user of Eclipse for a good, long time. When not working in Java, I use emacs.
I'm looking for an IDE for Python that will give me a lot of the capabilities I've grown used to with Eclipse, not only for refactoring but in terms of code completion, project management, SCM integration (currently CVS, but likely to switch to git one of these days) et al.
What IDE should I use?
My 2 pennies, check out PyCharm
http://www.jetbrains.com/pycharm/
(also multi-platform)
Have tried many different (Kate, Eclipse, Scite, Vim, Komodo): each one have some glitches, either limited functions, or slow and unresponsive. Final choice after many years: Emacs + ropemacs + flymake. Rope project file open dialog is extremely quick. Rope refactoring and code assist functions are super helpful. Flymake shows syntax mistakes. Emacs is the most configurable editor. I am very happy with this config. Python related part of config is here: public.halogen-dg.com browser/alex-emacs-settings/configs/cfg_python.el
I use TextMate for all my Python programming needs. It's not an IDE per se, but it does a lot of stuff that an IDE does (without all the cruft of an IDE). It has syntax highlighting, code folding, integration with various SCMs through the use of additional bundles (I know it supports SVN, Git, Mercurial, Darcs, and probably a few others). It's also quite extensible and customizable (again, through the use of bundles). It also has a basic concept of projects. One place where it doesn't shine, though, is in code completion; some bundles have limited support for code completion, but it's generally not as amazing as that of most language-specific IDEs. Given how awesome TextMate is, though, I don't know sacrificing that. TextMate's definitely made me much more productive.
Pydev for Eclipse, as others have mentioned, is good.
Netbeans has a beta Python plugin that is a little rough around the edges, but could turn into something really cool.
Additionally there is a long list of programming centric text editors for the mac, that may or may not fit your needs.
Textmate - costs money, people love this program, but I haven't used it enough to see what all the fuss is about.
Jedit - Java based text editor, has some nice features, but the startup time isn't great (due to Java).
CarbonEmacs - Decent Emacs port.
AquaEmacs - Better Emacs port.
TextWrangler - Lite, free (as in beer) verision of BBEdit.
BBEdit - The old guard. The defacto editor before Textmate stole its limelight. Expensive.
Smultron - Very nice editor, the UI is similar to Textmate.
Idle - Python's own little editor, has some nice features, but also some major problems. I've personally found it too unstable for my usage.
Sublime Text - This is really sweet text editor that has some surprisingly good Python support.
Pycharm - Another solid full on IDE for Python.
Eclipse with Pydev works best for me on any platform.
I really enjoy using PyCharm. http://www.jetbrains.com/pycharm/
macvim + pyflakes.vim
I like Spyder, it has many tools, such as profiling, intelligent indentation helper and a good autocompletion support
https://code.google.com/p/spyderlib/
I usually use either komodo edit or aquamacs with ropemacs. Although I should warn you, IDE features won't be what you're used to if you're coming from a Java or C# background. I personally find that powerful IDEs get in my way more than they help.
UPDATE: I should also point out that if you have the money Komodo IDE is worth it. It's the paid version of Komodo Edit.
If you have a budget for your IDE, you should give Wingware Professional a try, see wingware.com .
I've used WingIDE and have been very happy. Intellisense is pretty good, some other things are a bit wacky but overall it's a very productive tool
If you are looking for an interactive environment and not needing to code modules, I would suggest IPython. Though this is developed with scientists/statisticians in mind, it will run just as well without any of the scientific packages installed. The features are powerful, with code completion, integrated help, integrated debugging, etc., and it functions as a notebook with Markdown and MathJax integration. By far the best choice for those that need powerful features without wishing to load megabytes of GUI into RAM--since it is browser based, it is used in your always loaded chrome/safari instance. ;-)
Eclipse PyDev plugin.
http://pydev.sourceforge.net/
since you are familiar with Eclipse maybe you are interested in Pydev
Python support on netbeans is surprisingly good, and comes with most of the features you're looking for.
TextMate or Panic's Coda. NetBeans works very well, if you want a full-blown kitchen sink IDE.
"Which editor/IDE for ...?" is a longstanding way to start a "My dog is too prettier than yours!" slapfest. Nowadays most editors from vim upwards can be used, there are multiple good alternatives, and even IDEs that started as C or Java tools work pretty well with Python and other dynamic languages.
That said, having tried a bunch of IDEs (Eclipse, NetBeans, XCode, Komodo, PyCharm, ...), I am a fan of ActiveState's Komodo IDE. I use it on Mac OS X primarily, though I've used it for years on Windows as well. The one license follows you to any platform.
Komodo is well-integrated with popular ActiveState builds of the languages themselves (esp. for Windows), works well with the fabulous (and Pythonic) Mercurial change management system (among others), and has good-to-excellent abilities for core tasks like code editing, syntax coloring, code completion, real-time syntax checking, and visual debugging. It is a little weak when it comes to pre-integrated refactoring and code-check tools (e.g. rope, pylint), but it is extensible and has a good facility for integrating external and custom tools.
Some of the things I like about Komodo go beyond the write-run-debug loop. ActiveState has long supported the development community (e.g. with free language builds, package repositories, a recipes site, ...), since before dynamic languages were the trend. The base Komodo Edit editor is free and open source, an extension of Mozilla's Firefox technologies. And Komodo is multi-lingual. I never end up doing just Python, just Perl, or just whatever. Komodo works with the core language (Python, Perl, Ruby, PHP, JavaScript) alongside supporting languages (XML, XSLT, SQL, X/HTML, CSS), non-dynamic languages (Java, C, etc.), and helpers (Makefiles, INI and config files, shell scripts, custom little languages, etc.) Others can do that too, but Komodo puts them all in once place, ready to go. It's a Swiss Army Knife for dynamic languages. (This is contra PyCharm, e.g., which is great itself, but I'd need like a half-dozen of JetBrains' individual IDEs to cover all the things I do).
Komodo IDE is by no means perfect, and editors/IDEs are the ultimate YMMV choice. But I am regularly delighted to use it, and every year I re-up my support subscription quite happily. Indeed, I just remembered! That's coming up this month. Credit card: Out. I have no commercial connection to ActiveState--just a happy customer.
I've searched on Google for an app like this for a while, and I've found only options with heavy and ugly interfaces.
Then I opened Mac App Store and found CodeRunner. Very nice and clean interface. Support many languages like Python, Lua, Perl, Ruby, Javascript, etc. The price is U$10, but it's worth it!
I've been using an Evaluation copy of Sublime Text. What's good is it doesn't really expire.
It's been good so far and was really easy to get started with.
I may be a little late for this, but I would recommend Aptana Studio 3.x . Its a based on eclipse and has everything ready-to-go for python. It has very good support for DJango, HTML5 and JQuery. For me its a perfect web-development tool. I do HTML5 and Android development too, this way I do not need to keep switching different IDE's. It my all-in-one solution.
Note: you need a good amount of RAM for this to be snazzy !! 4+ GB is awesome !!
Visual Studio Code + Official Python Plugin
Here you see an overview of its current Python features:
https://code.visualstudio.com/docs/languages/python
Chocolat
http://chocolatapp.com
It's lightweight and offers Code Completion. Costs money.
EDIT:
Apparently Chocolat was an interesting option in 2013 but since then many others came up and development stalled. Nowadays I recommend Visual Studio Code + Python Plugin.
You might want to look into Eclim, an Eclipse server that allows you to use Eclipse functionality from within your favorite text editor. For python-related functionality, it uses Rope, PyFlakes, and PyLint under the hood.

Django development IDE [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
Questions asking us to recommend or find a tool, library or favorite off-site resource are off-topic for Stack Overflow as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it.
Closed 9 years ago.
Improve this question
I have done a little Django development, but it has all been in a text editor. I was curious what more advanced development tools others are using in their Django development.
I am used to using Visual Studio for development and really like the IntelliSense, code completion, and file organization it provides and would like to find something (or a combination of tools) that would provide some of this in the Django/Python environment.
There is PyCharm from JetBrains which supports Django and Google Apps. It looks promising.
Note: You need to buy a license for the Professional version if you want Django support. The Community version desn't support Django.
I use Eclipse and a plain vanilla PyDev. There isn't any specific Django functionality. The best I came up with was setting up a run profile to run the development web server.
If you add the web tools project (WTP), you'll get syntax highlighting in your templates, but nothing that relates to the specific template language. PyDev is a decent plugin, and if you are already familiar with Eclipse and use it for other projects it is a good way to go.
I recall NetBeans starting to get Python support, but I have no idea where that is right now. Lots of people rave about NetBeans 6, but in the Java world Eclipse still reigns as the king of the OSS IDEs.
Update: LiClipse is also fantastic for Django.
Install it, use this method to get the icon into Ubuntu's menu. Start LiClipse and in File > New > Project ..., select PyDev and PyDev Django project. You may have to set up your Python interpreter etc, but that you'll be able to figure out on your own. Once the Django project is created, you can right click on the project and the menu will have a "Django" option, which allows various things like creating a Django app or running migrations etc. LiClipse is good because it consumes far lesser memory than PyCharm and supports refactoring and autocomplete reasonably well.
I use Vim:
http://github.com/skyl/vim-config-python-ide
[UPDATE]
Sublime Text 2 is pretty awesome. It supports a lot of Vim commands if you want them: Vintage Mode
It has a nice package manager: http://wbond.net/sublime_packages/package_control
I use these packages so far:
Djaneiro
SetDjangoSyntax
CoffeeScript
SublimeLinter
Theme - Soda
SideBarEnhancements
I still love Vim but ... did I mention that Sublime Text plugins are written in Python?
I use Komodo Edit. Check out the Open Komodo Edit.
Sublime
I am beginning to enjoy working with Aptana Studios + PyDev (and other) plugins for all sorts of web application development. As you can tell, it is built on top of the powerful Eclipse, but is tailor-designed to focus on web application development.
I use Kate (KDE Advanced Text Editor) for most of my development, including Django. It has both a Python and Django Templates syntax higlighting. I switch to Quanta+ when a significant part of the project involves HTML.
Since it uses Kate's KPart, it's just as good for editing the Python parts, and for the HTML templates i have the whole Quanta+ tools, while still highligting Django-specific tags.
Update 2013: Unfortunately, Quanta+ has been dead for years now, and there's no hope that it will ever be resurrected. Also, there's no other usable HTML editor out there, so it's Kate all the time now.
NetBeans for Python is my current favorite (lighter and so much easier to install than Eclipse I found). Supports simple refactoring, autocompletion, errors/warnings...
Eclipse Aptana PyDev probably one of the most complete free IDE nowadays (haven't tested a lot)
Wingware Python IDE a commercial IDE, which has some Django-specific project setup features the ability to debug Django template files.
IntelliJ IDEA Ultimate Edition another commercial IDE which has also a plugin for Python that is under heavy development. I saw some demo which look very promising on the auto-completion (for templates and Python).
Vim which I still use a small touch-fix application. See also: Extra tweaks for Django.
PyCharm. It is best the IDE for Python,Django, and web development I've tried so far. It is totally worth the money.
You guys should checkout PyCharm! It is the first decent Django IDE.
Eclipse has the PyDev plugin for python development. Unfortunately, I'm not sure how well it integrates with Django.
As far as I know there is not "an IDE" for Django, but there are some IDEs that support Django right out of the box, specifically the Django syntax for templates.
The name is Komodo, and it has a lot of features, but it's not cheap. If you are not worried about source control or debugging then there is a free version called Komodo Edit.
There is an actual Python extension for Visual Studio: http://pytools.codeplex.com/. It's absolutely fantastic. It feels the same as if I were coding in any native Visual Studio language. The extension is even compatabile with Django. And best of all: it's totally free. Even for Visual Studio, it only requires the Visual Studio Shell to work, which is completely free.
Now you can also use Visual Studio 2010. Here's how:
Download and install Python Tools for Visual Studio.
Create a new project from existing code (menu File → New → Project From Existing Code...)
Specify your Django project folder and use the defaults.
Right-click on manage.py and choose Set as Startup File.
In your project properties Debug tab, add "runserver" in Script Arguments.
You can set break points, and attach to the Python process for debugging. If you want to debug without having to "attach to process," use "runserver --noreload" in your script arguments. However, the "--noreload" means you'll have to stop and restart the Django development web server manually (to recognize your code changes).
This is a nice setup if you already use Visual Studio.
Python Tools has been updated. It has built in support for Django now.
PyCharm, definitely. I tried them all (almost), but PyCharm is the one I found most useful for any heavy development.
For simple, one time, scripts I use whatever comes to mind (TextMate, Vim, Emacs, TextWrangler, etc., you name it).
I have used Eclipse with PyDev and PyCharm. PyCharm is definitely the best IDE for Django/Python I have tried. It does proper template highlighting and auto-completion for all objects. It also does cross-file referencing.
It's quite expensive, but definitely the best Django IDE I have tried. You can try a 30 day evaluation at http://www.jetbrains.com/pycharm/download/.
I've also had good results with Eclipse and Pydev. Although I still require a shell opened to the project directory to run manage.py commands. I've also been using it with the Bazaar plugin for revision control and syncing code with the server.
I really like E Text Editor as it's pretty much a "port" of TextMate to Windows. Obviously Django being based on Python, the support for auto-completion is limited (there's nothing like intellisense that would require a dedicated IDE with knowledge of the intricacies of each library), but the use of snippets and "word-completion" helps a lot. Also, it has support for both Django Python files and the template files, and CSS, HTML, etc.
I've been using E Text Editor for a long time now, and I can tell you that it beats both PyDev and Komodo Edit hands down when it comes to working with Django. For other kinds of projects, PyDev and Komodo might be more adequate though.
I use Kate as well. Kate's simplicity is its biggest feature. It doesn't get in your way. (This is of course highly subjective opinion.)
Kate includes a Python code browser plugin. But it isn't useful IMO. No automatic updates when you change the code/view. Also when you update, the whole tree is collapsed, and you have to expand it again yourself. Too many clicks.
Instead, I use the Source Browser plugin that comes with Pâté. It does cause Kate to freeze temporarily sometimes, but no crashes or anything of that sort so far.
Shameless blog plug: more on using Django with Kate (Pâté)
Well, I've been using my own one. Recently they released an alpha version. Here it is at pfaide.com/.
If you like Vim as an editor, here are some suggestions on how to tune it (up to the point of a full fledged IDE) for Django development: http://code.djangoproject.com/wiki/UsingVimWithDjango.
Editra supports Django Template Language syntax highlighting. You can configure it either as a better Notepad or a basic IDE.
I made a blog post about NetBeans' new and upcoming support for Django. When paired with its already fantastic Python, JavaScript, HTML and CSS support, it's a strong candidate in my mind!
TextMate with the Django and django-html bundles installed gives you syntax highlighting and great extensibility. It is lightweight and fun to use.
Here is a link to a code completion project for TextMate with Python (which I haven't used myself). As for "intellisense" (which I understand to be inline-doc reference), TextMate has that too.
The Wingware editor from http://www.wingware.com is Python-specific with very good auto-completion for Python/Django/Zope, etc.
It has a built in Python shell to run snippets (or select and run) and support for Mercurial/Git, etc. and a built-in unittest/nose/doctest test runner. It's commercial though, but as it is written in Python, it's cross platform.
I bought it a while ago, and thought it looked dorky, but I've tried them all and keep coming back. Caveat that I am a Windows guy with no Emacs or Vim skills, so leveraging that was not an option. And the Mac version requires X Window and seems to be more glitchy.
Geany
It is GTK2 based, fast, lightweight, available for Linux and Windows.
Ninja-IDE.
Check this: Ninja-IDE Django Plugin
Ulipad is a good one.
http://code.google.com/p/ulipad/
I have consistently used Vim or Kate, but I would prefer a full-blown IDE. Given it is not as heavy as Visual Studio.
I like Eclipse + PyDev and/or eric, myself. The new version of PyDev has some pretty awesome code completion support.
Since I only use Eclipse for PyDev, I use a slim install of just the Platform Runtime Binary + PyDev + Subclipse.

Categories

Resources