Skip to content
This repository has been archived by the owner on Jan 25, 2023. It is now read-only.

Releases: dmitriyse/pythonnet

PythonNet binary for Python 3.5 x64 Windows/Ubuntu/anaconda

02 Nov 14:28
Compare
Choose a tag to compare

Fixed crash on linux caused by Mono bug.

New implementation of Python Bootstrapper

14 Oct 09:30
Compare
Choose a tag to compare

This implementation can be adopted to auto assembly on Continues Integration and finally transformed to nuget

Python bootstrapper automatically chooses required build version of Python.Runtime.dll
All parameters are obtained from default python in current execution environment.

For example for Windows x64, Python 3.5 lib should be named Python.Runtime-win-64-ucs2-35.dll

Different runtime builds can be placed in one zip package (Python.Runtime.zip - should be placed in bin dir).

Stabilized binary distribution tested with Mono+Linux and .Net+Win10

15 Oct 09:25
Compare
Choose a tag to compare

This release is tested with a large python application (FFMpeg, Theano packages works fine).
Tested with x64 Envs: Ubuntu 16.04.1 + Mono 4.6.1 + Conda Python 3.5.2 and with Win10+.Net 4.6.2+ Conda Python 3.5.2.

First binary contribution with OS autodetection.

22 Jul 10:26
Compare
Choose a tag to compare

Python.Config.dll - is an all in one binary distribution of PythonNet.
It supports Win64,Linux64, Python 2.7, Python 3.5

pcfgtest.exe is a diagnostic utility.

If you put bootstrap code:

        static Program()
        {
            Console.WriteLine("Starting application...");
            // Required to be placed in the static constructor for Mono.
            PythonConfig.EnsureInitialized();
        }

        [STAThread]
        private static int Main(string[] args)
        {
            // Mono workaround required to fix AssemblyResolve + EntryPoint class bug.
            // Classes that was referenced from EntryPoint class cannot use assemblies resolved through "AssemblyResolve"
            Action monoWorkaround = () =>
                {
                    try
                    {
                        // You should put this initialized only if some component starting to use it before first application configuration file read attempt.
                        // So in rare cases.
                        PythonEngine.Initialize();

to your project and switch off "copy local" property on Python.Runtime.dll assembly, then different version of Python.Runtime.dll will be loaded.
You also should put version into configuration file:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <configSections>
    <section name="pythonConfig" type="Python.Config.PythonConfigSection, Python.Config, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"/>
  </configSections>
  <pythonConfig pythonVersion="3.5"/>
</configuration>