New Project - Reference Cites Python 2.7???

Mar 17 at 10:37 PM
Hi all,

For some reason I just noticed under the References folder in a new project it lists Python 2.7. What does this mean and how do I reference Python 3.3 or 3.4? I know I can switch environments to pretty much whatever flavor I want, but if this means that only 2.7 is getting imported for intellisense etc. then that isn't much help for my productivity.


Mar 17 at 11:07 PM
Yeah, we really need to clarify the purpose of this reference. It is immensely unclear... :(

Basically, it only matters for when you deploy to a Windows Azure Cloud Service. If you are never doing this, you can stop reading, because the reference does not affect you at all.

It is essentially a reference to a WebPI feed and product that we will automatically download and install while setting up a VM on deployment. If you deploy to a Web Site on Windows Azure, the machines are preconfigured with Python 2.7 (and soon, 3.4) 32-bit, and the only other way to get things on is as part of a virtual environment.

The reference has nothing to do with IntelliSense and does not affect running or debugging the project locally (even in the Cloud Service emulator - we ignore it there, too).

Just to make things complicated, we display references to .pyd files (or .dlls in IronPython) under the same list. These ones do affect IntelliSense, and they typically add a search path automatically so they will affect local running and debugging.

Unfortunately, this feature (or rather, this approach to the feature) has been around long enough that we can't just pull it out, and we haven't had any bright ideas for an alternative way to present it that is neater/cleaner/less-noisy, and also less confusing.
Mar 17 at 11:30 PM
Okay, so we had a bright idea. Hopefully if we can get the time to implement it we'll be able to not include those references by default, which should alleviate some of the confusion without affecting existing users.

I hope my explanation cleared things up a bit though. Feel free to ask about anything else - it gives us great feedback on what needs to be made clearer.
Mar 18 at 12:21 AM
As always your answer was both sufficient, and more importantly, crystal clear.

So basically, if I create a python 3.3+ intended project with Django (assuming Django 1.6+) that will never ever go into Azure I can delete the Python 2.7 reference (and only that reference) without it effecting anything, including intellisense. I kinda figured it was something like that after I looked at the properties and noticed that it included a Microsoft URL.

I guess my next question would be what happens if I accidentally delete the reference. What do I need to do to get it back? Create a new project and import the existing project's code? Just as a side note on your idea. I like it. But in the mean time while you chaps are working on Item 2274 what about the idea of adding a note to the properties of the Python 2.7 reference referencing its necessity (like to a wiki page) or something?


Mar 18 at 3:36 PM
That sounds like a good place to put it. We could also add a context menu item saying "What is this for..." to go to the same page.

Neither of these will make it into beta, but we will be doing a beta 2 that should have either 2274 and 1391 or else a nearby link.