[IronPython] Python Tools for Visual Studio

Steve Dower s.j.dower at gmail.com
Thu Mar 10 14:57:17 PST 2011


Ah, it may not have been RC2. I don't have the installer laying
around, so it may have been RC1 or even B2 (as I said, I tend to build
IPy from source).

IPy 2.6 probably isn't necessary - this may be a good way to force
upgrades? I've only really got it still for my automated
cross-interpreter testing. It also doesn't appear to set any registry
entries, so there may not be any nice enough way to bring it in.

The sn command worked (as admin) and I can build everything except for
AnalysisTest.csproj (309 errors because Microsoft.TC and
DynamicHostTypeAttribute can't be found). Building without this
project works and PyTools shows up in the experiment instance of VS
(where it seems to work fine, except for the CPython 3.2 interactive:
parameter 'String' cannot be null).

I've added these bugs (and some others I've found in my travels).


On Fri, Mar 11, 2011 at 08:16, Dino Viehland <dinov at microsoft.com> wrote:
> Thanks for the feedback!
>
> #1 is surprising...  Was it Ipy 2.7 RC2?
>
> We won't pick up IronPython 2.6 but I can probably make that work as well.   We'll need to use the
> generic-(C)Python integration rather than the IronPython specific integration for that so you won't
> get automatic support for clr.AddReference() and friends which you do w/ 2.7.
>
> I can definitely fix #3 and make it more robust so we don't crash.
>
> For #4 you'll also need to install the HPC client utilities (http://www.microsoft.com/downloads/en/details.aspx?FamilyID=0a7ba619-fe0e-4e71-82c8-ab4f19c149ad)
> although that's not your particular build problem.  You should just need to do:
>
> sn -Vr *,b03f5f7f11d50a3a
>
> from a VS command prompt.  If you're on a 64-bit machine you'll need to do that
> from a normal VS command prompt as well as a 64-bit command prompt.  This is different
> from the normal IpyTools because we use a MS key which we don't have the
> full key for.  Alternately you can do a bunch of sn -Vr commands for the individual assemblies
> if you don't want to disable strong name verification for everything w/ that key.  That's the
> same key that all of the Visual Studio assemblies are signed with.
>
> If you'd like you can open bugs on pytools.codeplex.com for #1-#3 (or if you don't I'll go ahead
> and open them later today).
>
>> -----Original Message-----
>> From: Steve Dower [mailto:s.j.dower at gmail.com]
>> Sent: Thursday, March 10, 2011 4:03 PM
>> To: Discussion of IronPython
>> Cc: Dino Viehland
>> Subject: Re: [IronPython] Python Tools for Visual Studio
>>
>> This is great! First reports:
>>
>> 1. The installer refused to work until I completely removed IronPython
>> - not just the VS tools (I'm okay with this, I tend to use repo builds of IronPy
>> anyway.)
>>
>> 2. I love that it detects my Python installs (though apparently not my
>> IronPython 2.6 install?) and including all files by default is far more robust
>> than it was back when I complained about it.
>>
>> 3. Opening a .py file caused a crash in Microsoft.PythonTools.Analysis
>> (submitted through WER): 'key "__next__" was not found'. This is apparently
>> due to my file being for Python 2.7 but the default interpreter being Python
>> 3.2. (Obviously using a project with the right setting fixes this.)
>>
>> Stack trace:
>>    at
>> Microsoft.PythonTools.Analysis.Values.BuiltinNamespace`1.get_Item(String
>> name)
>>    at Microsoft.PythonTools.Analysis.Values.GeneratorInfo..ctor(FunctionInfo
>> functionInfo)
>>    at
>> Microsoft.PythonTools.Analysis.Interpreter.ExpressionEvaluator.EvaluateYiel
>> d(ExpressionEvaluator
>> ee, Node node)
>>    at
>> Microsoft.PythonTools.Analysis.Interpreter.ExpressionEvaluator.EvaluateWo
>> rker(Node
>> node)
>>    at
>> Microsoft.PythonTools.Analysis.Interpreter.DDG.Walk(ExpressionStatement
>> node)
>>    at
>> Microsoft.PythonTools.Parsing.Ast.ExpressionStatement.Walk(PythonWalke
>> r
>> walker)
>>    at Microsoft.PythonTools.Parsing.Ast.SuiteStatement.Walk(PythonWalker
>> walker)
>>    at Microsoft.PythonTools.Analysis.Interpreter.DDG.Walk(WhileStatement
>> node)
>>    at Microsoft.PythonTools.Parsing.Ast.WhileStatement.Walk(PythonWalker
>> walker)
>>    at Microsoft.PythonTools.Parsing.Ast.SuiteStatement.Walk(PythonWalker
>> walker)
>>    at
>> Microsoft.PythonTools.Analysis.Interpreter.FunctionAnalysisUnit.AnalyzeWo
>> rker(DDG
>> ddg)
>>    at Microsoft.PythonTools.Analysis.Interpreter.DDG.Analyze(Deque`1
>> queue)
>>    at
>>
>>
>> 4. I was unable to build the code in the repository (from the VS 2010
>> command prompt, x86 tools, latest VSSDK installed). I've attached the entire
>> msbuild output, the command line I used is below and the warning/error
>> output is below that.
>>
>> msbuild /t:Rebuild /p:Configuration=Debug "/p:Platform=Any CPU"
>> PythonTools.sln
>>
>>
>> "D:\...\Projects\pytools.hg.cp\PythonTools.sln" (Rebuild target) (1) ->
>> "D:\...\Projects\pytools.hg.cp\Release\Tests\AnalysisTest\AnalysisTest.cspr
>> oj"
>> (Rebuild target) (3) ->
>> "D:\...\Projects\pytools.hg.cp\Release\Tests\Common\TestUtilities\TestUtili
>> ties.csproj"
>> (default target) (15:2) ->
>> (StyleCop target) ->
>>   VSUtility.cs(1,1): warning : SA1633: The file has no header, the header Xml is
>> invalid, or the header is not located at the top of the file.
>> [D:\...\Projects\pytools.hg.cp\Release\Tests\Common\TestUtilities\TestUtili
>> ties.csproj]
>>   IWarningLogger.cs(1,1): warning : SA1633: The file has no header, the
>> header Xml is invalid, or the header is not located at the top of the file.
>> [D:\...\Projects\pytools.hg.cp\Release\Tests\Common\TestUtilities\TestUtili
>> ties.csproj]
>>   AssertListener.cs(1,1): warning : SA1633: The file has no header, the header
>> Xml is invalid, or the header is not located at the top of the file.
>> [D:\...\Projects\pytools.hg.cp\Release\Tests\Common\TestUtilities\TestUtili
>> ties.csproj]
>>
>>
>> "D:\...\Projects\pytools.hg.cp\PythonTools.sln" (Rebuild target) (1) ->
>> "D:\...\Projects\pytools.hg.cp\Release\Tests\AnalysisTest\AnalysisTest.cspr
>> oj"
>> (Rebuild target) (3) ->
>> "D:\...\Projects\pytools.hg.cp\Release\Product\Python\IronPython\IronPyt
>> hon.csproj"
>> (default target) (7:2) ->
>> "D:\...\Projects\pytools.hg.cp\Release\Product\Python\PythonTools\Pytho
>> nTools.csproj"
>> (default target) (8:4) ->
>> "D:\...\Projects\pytools.hg.cp\Release\Product\Python\ReplWindow\ReplW
>> indow.csproj"
>> (default target) (10:3) ->
>> (GeneratePkgDef target) ->
>>   CreatePkgDef : error : Could not load file or assembly
>> 'Microsoft.VisualStudio.ReplWindow, Version=0.7.4100.0, Culture=neutral,
>> PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. Strong name
>> validation failed. (Exception from HRESULT:
>> 0x8013141A)
>> [D:\...\Projects\pytools.hg.cp\Release\Product\Python\ReplWindow\ReplW
>> indow.csproj]
>>   CreatePkgDef : error : Strong name validation failed. (Exception from
>> HRESULT: 0x8013141A)
>> [D:\...\Projects\pytools.hg.cp\Release\Product\Python\ReplWindow\ReplW
>> indow.csproj]
>>
>>     3 Warning(s)
>>     2 Error(s)
>>
>>
>> On Fri, Mar 11, 2011 at 01:39, Dino Viehland <dinov at microsoft.com> wrote:
>> > Can you elaborate on "efficient"?  Do you mean response time or actual
>> usefulness?
>> >
>> > IronPython does take a little while to bring up members for a type you
>> > haven't completed against yet because reflection is slow.  But for
>> > CPython we have a separate database that's much faster.
>> >
>> > If it's actual usefulness you may find the PyTools analysis to be
>> > better as there have been some general improvements and bug fixes
>> > there.  If you have some specific repros I'd love to hear about them so we
>> can fix them.
>> >
>> >> -----Original Message-----
>> >> From: users-bounces at lists.ironpython.com [mailto:users-
>> >> bounces at lists.ironpython.com] On Behalf Of Federico Vaggi
>> >> Sent: Thursday, March 10, 2011 6:37 AM
>> >> To: Discussion of IronPython
>> >> Subject: Re: [IronPython] Python Tools for Visual Studio
>> >>
>> >> Thanks a lot for all the work Dino, I will give it a try for sure.
>> >>
>> >> I am not sure what other IDE people use for Python code writing, but
>> >> I found that the auto-complete feature in pydev (the Eclipse plug-in)
>> >> was a lot more efficient than the autocomplete for Ironpython.
>> >>
>> >> Federico
>> >>
>> >> On 10/03/2011 15:30, Dino Viehland wrote:
>> >> > (I'll post this on my blog as soon as I can login into it, but it's
>> >> > been so long
>> >> I'm having issues.  Anyway it seems appropriate for this alias as well):
>> >> >
>> >> > Some people may have been wondering what I've been working on
>> since
>> >> IronPython was released into the wild and late last night we
>> >> announced it - Python Tools for Visual Studio
>> >> [http://pytools.codeplex.com/].  For me this was an awesome
>> >> opportunity to continue work on a Python focused open source project
>> >> at Microsoft. I'm particularly excited I can extend the work we did
>> >> to support IronPython in Visual Studio and add in support for CPython
>> >> and other Python implementations.  I'm also really happy to be able to
>> continue work with the Python community.
>> >> >
>> >> > PTVS keeps all the features we had in IronPython Tools for VS and
>> >> > adds a
>> >> bunch of new features.  For starters we add support for both REPLs
>> >> and debugging in CPython and other Python implementations.  We also
>> >> add profiling support for CPython, support for multiple language
>> >> versions (2.5 through 3.2), and attach to process for CPython
>> >> processes - both local and remote.  Meanwhile we still support all
>> >> the features we had before including great intellisense and drag and drop
>> GUI development for IronPython.
>> >> >
>> >> > But we're also focusing on developing new features in a specific
>> >> > area - High
>> >> Performance Computing.  For our first beta we've focused on enabling
>> >> two different scenarios - batch computing via MPI and interactive
>> >> computing via IPython.  For batch computing we support publishing to
>> >> and running on the cluster via a simple "F5" scenario .  If you're
>> >> not yet ready to run on the cluster you can do the same multi-process
>> >> launch on the local machine.  For interactive development we are
>> >> focusing on the bleeding edge of IPython
>> >> (.11+) where the new architecture is designed from the ground up to
>> >> support parallel computing and alternate REPL UIs.
>> >> >
>> >> > If you're an IronPython user I encourage you to give the new tools
>> >> > a try -
>> >> you'll first need to uninstall the tools feature in IronPython 2.7RC2
>> >> which you can do simply by re-running the MSI and choosing the change
>> >> option.  If you're a CPython user I hope you'll also give it a try -
>> >> you should find that it'll support your existing CPython installs for
>> >> Python 2.5 through 3.2.  Thanks - I look forward to hearing your feedback.
>> >> >
>> >> > _______________________________________________
>> >> > Users mailing list
>> >> > Users at lists.ironpython.com
>> >> > http://lists.ironpython.com/listinfo.cgi/users-ironpython.com
>> >>
>> >> _______________________________________________
>> >> Users mailing list
>> >> Users at lists.ironpython.com
>> >> http://lists.ironpython.com/listinfo.cgi/users-ironpython.com
>> > _______________________________________________
>> > Users mailing list
>> > Users at lists.ironpython.com
>> > http://lists.ironpython.com/listinfo.cgi/users-ironpython.com
>> >
>


More information about the Users mailing list