[IronPython] Add reference to .dll located in above directory
Lukas Cenovsky
cenovsky at bakalari.cz
Thu May 20 20:53:48 CEST 2010
Dino Viehland wrote:
> Instead of sys.path.append('root') can you append the full path to sys.path?
>
> That seems to work for me, I have:
>
> Directory of F:\Product\1\Dlr\x
>
> 05/20/2010 10:34 AM <DIR> .
> 05/20/2010 10:34 AM <DIR> ..
> 05/20/2010 10:30 AM <DIR> module
> 05/20/2010 10:30 AM 64 PythonModules.cs
> 05/20/2010 10:34 AM 3,072 PythonModules.dll
> 2 File(s) 3,136 bytes
>
> Directory of F:\Product\1\Dlr\x\module
>
> 05/20/2010 10:30 AM <DIR> .
> 05/20/2010 10:30 AM <DIR> ..
> 05/20/2010 10:36 AM 97 foo.py
> 1 File(s) 97 bytes
>
> Foo.py contains:
>
> import clr
> import sys
> sys.path.append(r'F:\Product\1\Dlr\x')
> clr.AddReference('PythonModules')
>
> and both of these work:
>
> 10:37:08.72
> F:\Product\1\Dlr > ipy x\module\foo.py
>
> 10:37:48.96
> F:\Product\1\Dlr > cd x
>
> 10:37:50.11
> F:\Product\1\Dlr\x > ipy module\foo.py
>
Yes, the above works for me too, but the following one does not:
F:\Product\1\Dlr\x\module > ipy foo.py
--
-- Lukáš
> Also you could calculate the path using __file__ from foo.py.
>
>
>
>> -----Original Message-----
>> From: users-bounces at lists.ironpython.com [mailto:users-
>> bounces at lists.ironpython.com] On Behalf Of cenovsky at bakalari.cz
>> Sent: Thursday, May 20, 2010 12:37 AM
>> To: Discussion of IronPython
>> Subject: [IronPython] Add reference to .dll located in above directory
>>
>> Hi all,
>> I have the following directory structure:
>>
>> root
>> |-- PythonModules.dll
>> |-- module
>> |-- foo.py
>>
>> I want to add reference to PythonModules.dll from foo.py. I have the
>> compiled Python libraries there I need to use in foo.py.
>>
>> I have not successfully make this work with sys.path:
>>
>> import clr
>> import sys
>> sys.path.append('root') # this is full path to root
>> clr.AddReference('PythonModules')
>>
>> Traceback (most recent call last):
>> File "C:\test\modul\t.py", line 4, in <module>
>> IOError: System.IO.IOException: Could not add reference to assembly
>> PythonModules
>> at
>> Microsoft.Scripting.Actions.Calls.MethodCandidate.Caller.Call(Object[]
>> args, Boolean& shouldOptimize)
>> at
>> IronPython.Runtime.Types.BuiltinFunction.BuiltinFunctionCaller`2.Call1(CallSit
>> e site, CodeContext context, TFuncType func, T0
>> arg0)
>> at
>> System.Dynamic.UpdateDelegates.UpdateAndExecute3[T0,T1,T2,TRet](CallSite site,
>> T0 arg0, T1 arg1, T2 arg2)
>> at __main__$1.__main__(FunctionCode $functionCode) in
>> C:\test\modul\t.py:line 14
>> at IronPython.Compiler.RuntimeScriptCode.InvokeTarget(Scope scope)
>> at IronPython.Compiler.RuntimeScriptCode.Run(Scope scope)
>> at IronPython.Hosting.PythonCommandLine.RunFileWorker(String fileName)
>> at IronPython.Hosting.PythonCommandLine.RunFile(String fileName)>>>
>>
>> I get the same error when I use clr.AddReferenceToFile('PythonModules.dll').
>>
>> The only way how could I make this work is the following:
>>
>> import clr
>> import sys
>> clr.AddReferenceToFileAndPath('..\\PythonModules')
>>
>> This is not suitable for me as I want to run foo.py from different
>> directories.
>>
>> Is it a bug? Or do I something wrong?
>>
>> --
>> -- Lukáš
>>
>> _______________________________________________
>> 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
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/ironpython-users/attachments/20100520/72ce798f/attachment.html>
More information about the Ironpython-users
mailing list