PyTango 9.2.1 installer for python3 on Windows

Hi Tangoers,

I have a client for Windows using python3. Unfortunately, I have some issues with event timeouts on PyTango 9.2.0. I would like to try the latest version, 9.2.1, to check if there is still an issue. However, there is no installer for windows for python3 (only for 2.7). I am wondering if anyone can provide one easily, as I understand building PyTango on Windows is a headache.

I need a 64 bit version. The python version is less important, but I would prefer 3.5 or 3.6.

Regards,
Andrew
Hi,

Currently, there is only a py27 version, available on pypi.

https://pypi.python.org/packages/3d/a6/840c87a97bc5ce75e6421bca3bff74ae1bf4bb54eeb1e0741936801993f1/pytango-9.2.1.win-amd64-py2.7.exe#md5=26eb12d4ad24ec0f18a9911d62d404b3

https://pypi.python.org/packages/9e/5b/0f953e8b7f5fd040eeb5d433b0c381926e008327d5ccf787498706fdaf60/pytango-9.2.1.win-amd64-py2.7.msi#md5=0c07c025f936b9594498fd77a3686b1a

Currently, there is no py35 version of pytango because of the VC14 use, but it will change in the future.
Thanks, but that is not very useful for me, as it would be hard to port our application back to python 2.7. I am guessing by what you said that I cannot get hold of a windows installer until someone spends the time to go through the process of building one for python 3.5. Does anyone know when this is likely to be?

I would be willing to use an installer for python 3.4 if it was available.
Hi, AFozzy

I had build PyTango 9.2.0 on Windows10-64bits + python3.5-64bits + tango9.2.2-vs12 + visual studio 2013(VS12), but i don't know how to package, maybe can build PyTango 9.2.1 with python3.6 or 3.7 as the same way.(i am a python beginner, so i am not sure this way is ok)

1. firstly, get boost source, make and install boost (64bits)

VS2013 x86 Native Tools Command Prompt
> bootstrap.bat
> b2 stage toolset=msvc-12.0 variant=release link=shared threading=multi runtime-link=shared address-model=64 install

add C:\Boost\lib path into windows's Path environment variable.

2. edit win\PyTango_VS14\PyTango.vcxproj and win\PyTango_VS14\PyTango.props

for win\PyTango_VS14\PyTango.vcxproj, change:
<PlatformToolset>v140</PlatformToolset>
to:
<PlatformToolset>v120</PlatformToolset>

for win\PyTango_VS14\PyTango.props, edit Python, Boost and Tango path parameter. for my environment (Tango - C:\tango-9.2.2 ; Python - C:\Python35 ; Boost - C:\Boost):
$ diff -u PyTango.props.origin PyTango.props
— PyTango.props.origin	2016-09-14 07:16:38.028615806 -0700
+++ PyTango.props	2016-09-14 07:16:38.026616005 -0700
@@ -4,7 +4,7 @@
     <PyTangoBaseFile>_tango</PyTangoBaseFile>
     <TangoMajorVer>9</TangoMajorVer>
     <TangoMinorVer>2</TangoMinorVer>
-    <TangoPatchVer>0</TangoPatchVer>
+    <TangoPatchVer>2</TangoPatchVer>
     <TangoVer>$(TangoMajorVer).$(TangoMinorVer).$(TangoPatchVer)</TangoVer>
     <PyTangoMajorVer>9</PyTangoMajorVer>
     <PyTangoMinorVer>2</PyTangoMinorVer>
@@ -20,24 +20,24 @@
     <!– <RootDir>C:\Users\coutinho\bin</RootDir> –>
     <RootDir>C:</RootDir>

-    <TangoBaseDir>$(RootDir)\wsp\tango</TangoBaseDir>
-    <BoostBaseDir>$(RootDir)\wsp\boost-$(BoostVer)</BoostBaseDir>
+    <TangoBaseDir>$(RootDir)\tango-9.2.2</TangoBaseDir>
+    <BoostBaseDir>C:\Boost</BoostBaseDir>

-    <PythonBaseDir>C:\Python</PythonBaseDir>
+    <PythonBaseDir>C:\Python35</PythonBaseDir>

-    <VCMajorVer>14</VCMajorVer>
+    <VCMajorVer>12</VCMajorVer>
     <VCMinorVer>0</VCMinorVer>
     <VCVer>$(VCMajorVer).$(VCMinorVer)</VCVer>

     <BoostIncludeDir>$(BoostBaseDir)\include\boost-$(BoostMajorVer)_$(BoostMinorVer)</BoostIncludeDir>
-    <BoostLibDir>$(BoostBaseDir)\multi\release\msvc-$(VCVer)\$(Platform)</BoostLibDir>
-    <BoostLibDir_Debug>$(BoostBaseDir)\multi\debug\msvc-$(VCVer)\$(Platform)</BoostLibDir_Debug>
+    <BoostLibDir>$(BoostBaseDir)\lib</BoostLibDir>
+    <BoostLibDir_Debug>$(BoostBaseDir)\lib</BoostLibDir_Debug>

-    <TangoIncludeDir>$(TangoBaseDir)\$(Platform)\include\vc$(VCMajorVer)</TangoIncludeDir>
-    <TangoLibDir>$(TangoBaseDir)\$(Platform)\lib</TangoLibDir>
-    <TangoLibDir_Debug>$(TangoBaseDir)\$(Platform)\lib</TangoLibDir_Debug>
+    <TangoIncludeDir>$(TangoBaseDir)\win64\include\vc$(VCMajorVer)</TangoIncludeDir>
+    <TangoLibDir>$(TangoBaseDir)\win64\lib</TangoLibDir>
+    <TangoLibDir_Debug>$(TangoBaseDir)\win64\lib</TangoLibDir_Debug>

-    <PythonDir>C:\Python\$(Platform)</PythonDir>
+    <PythonDir>C:\Python35</PythonDir>
     <NumpyRelativeIncludeDir>Lib\site-packages\numpy\core\include</NumpyRelativeIncludeDir>
     <PyTangoCompileOptions>-Zm200 /MP8 /bigobj</PyTangoCompileOptions>
     <BaseDir>$(ProjectDir)..\..</BaseDir>
@@ -61,7 +61,7 @@
     <BaseSrcDir>$(BaseDir)\ext</BaseSrcDir>
     <CommonIncludeDirs>$(BoostIncludeDir);$(TangoIncludeDir);$(BaseSrcDir);$(BaseSrcDir)\server</CommonIncludeDirs>

-    <Python35Dir>$(PythonDir)\35</Python35Dir>
+    <Python35Dir>$(PythonDir)</Python35Dir>
     <Py35>$(Python35Dir)\python</Py35>
     <Python35IncludeDir>$(Python35Dir)\include</Python35IncludeDir>
     <Numpy35IncludeDir>$(Python35Dir)\$(NumpyRelativeIncludeDir)</Numpy35IncludeDir>
@@ -99,11 +99,11 @@
     <PyTango35StaticLibs>$(BasePyTangoStaticLibs);python35.lib</PyTango35StaticLibs>
     <PyTango35SharedLibs>$(BasePyTangoSharedLibs);python35.lib</PyTango35SharedLibs>

-    <BaseBoostSharedRtSharedLibDir>$(BoostLibDir)\shared\runtime_shared</BaseBoostSharedRtSharedLibDir>
+    <BaseBoostSharedRtSharedLibDir>$(BoostLibDir)</BaseBoostSharedRtSharedLibDir>
     <BaseBoostStaticRtSharedLibDir>$(BoostLibDir)\static\runtime_shared</BaseBoostStaticRtSharedLibDir>
     <BaseBoostStaticRtStaticLibDir>$(BoostLibDir)\static\runtime_static</BaseBoostStaticRtStaticLibDir>

-    <Boost35SharedRtSharedLibDir>$(BaseBoostSharedRtSharedLibDir)\35;$(Python35LibDir)</Boost35SharedRtSharedLibDir>
+    <Boost35SharedRtSharedLibDir>$(BaseBoostSharedRtSharedLibDir);$(Python35LibDir)</Boost35SharedRtSharedLibDir>
     <Boost35StaticRtSharedLibDir>$(BaseBoostStaticRtSharedLibDir)\35;$(Python35LibDir)</Boost35StaticRtSharedLibDir>
     <Boost35StaticRtStaticLibDir>$(BaseBoostStaticRtStaticLibDir)\35;$(Python35LibDir)</Boost35StaticRtStaticLibDir>

@@ -116,11 +116,11 @@
     <PyTango35StaticLibs_Debug>$(BasePyTangoStaticLibs_Debug);python35.lib</PyTango35StaticLibs_Debug>
     <PyTango35SharedLibs_Debug>$(BasePyTangoSharedLibs_Debug);python35.lib</PyTango35SharedLibs_Debug>

-    <BaseBoostSharedRtSharedLibDir_Debug>$(BoostLibDir)\shared\runtime_shared</BaseBoostSharedRtSharedLibDir_Debug>
+    <BaseBoostSharedRtSharedLibDir_Debug>$(BoostLibDir)</BaseBoostSharedRtSharedLibDir_Debug>
     <BaseBoostStaticRtSharedLibDir_Debug>$(BoostLibDir)\static\runtime_shared</BaseBoostStaticRtSharedLibDir_Debug>
     <BaseBoostStaticRtStaticLibDir_Debug>$(BoostLibDir)\static\runtime_static</BaseBoostStaticRtStaticLibDir_Debug>

-    <Boost35SharedRtSharedLibDir_Debug>$(BaseBoostSharedRtSharedLibDir_Debug)\35;$(Python35LibDir)</Boost35SharedRtSharedLibDir_Debug>
+    <Boost35SharedRtSharedLibDir_Debug>$(BaseBoostSharedRtSharedLibDir_Debug);$(Python35LibDir)</Boost35SharedRtSharedLibDir_Debug>
     <Boost35StaticRtSharedLibDir_Debug>$(BaseBoostStaticRtSharedLibDir_Debug)\35;$(Python35LibDir)</Boost35StaticRtSharedLibDir_Debug>
     <Boost35StaticRtStaticLibDir_Debug>$(BaseBoostStaticRtStaticLibDir_Debug)\35;$(Python35LibDir)</Boost35StaticRtStaticLibDir_Debug>

3. make pytango and install
open vs2013 IDE, open PyTango.sln, then select "py35_bopyshared_tangoshared_release x64" target, build, it will make and install(auto run winsetup.py)

fandango not support python 3.x
Edited 4 years ago
Hi Jimmy,

Thanks for the information. I will give it a try when I have some more time. I will let you know how I go.

 
Register or login to create to post a reply.