Open ijstokes opened 7 years ago
Though it is perfectly possible to compile Python 2 with VS other than 2008, it breaks compatibility with python.org builds of python 2 (which are always done with VS 2008). We have been very hesitant to make that break, and upstream has been very hesitant to lead in that direction.
See Steve Dower's comment at https://bugs.python.org/issue25759#msg258427
@msarahan That certainly does look like they're not going to support anything above VS2008. Given that we're talking about a specific package for Nanoserver, is it still an issue to make the break?
@msnelling what you're basically asking for is not a specific package for Nanoserver, but rather a complete new build that we document/market as something for Nanoserver (but perhaps discourage use on "normal" Windows.)
I really don't think we'll do that halfway jump, but ultimately that's up to our company leadership. If people want to use Nanoserver, I recommend python 3.5+, which uses VS 2015.
@msarahan Understood.
The other part of the original thread is talking about the installation on to Nanoserver, since it doesn't support .msi and the current installer is 32bit (even for the 64bit package) which is also unsupported. A .zip file with a script to complete the installation would be very helpful.
At the moment you have to extract the .tar.bz files from the .exe manually, copy them into the container during build, extract them individually making sure that you run the package install script after each one.
I do feel this could be streamlined with a hosted .zip file containing the packages and a powershell installation script.
I am in favor of creating a better installer of some sort for nanoserver. I'll try to get it on our road map.
Just to be clear, I don't think this issue is related to the one I brought up in #1219. As @msnelling mentions that is just to do with the miniconda installer being unable to be used on nanoserver.
FWIW, I don't think it's really feasible to provide a new build of Python 2.7 and the entire ecosystem using a newer compiler. No matter how large your codebase is, it's going to be easier to port it to Python 3.5+ than it will be to maintain a fork of the entire ecosystem.
Is it possible to use conda clone
and a UNC path to clone from the (Windows) host into the Windows docker system? If not, the fixes needed for that to work may not be too tricky.
@dhirschfeld @msnelling - not sure if @mingwandroid suggestion is a path forward for you, but please comment. We'll also try to figure out a different installer, but have quite a few projects ahead of Windows docker support, unfortunately.
I'm not sure it helps any as it's not reproducible. In any case, can you even clone a root environment?
I've already created a miniconda image by mapping a host directory and xcopying a fresh miniconda install to the container. It works fine but you can't write a dockerfile to reproduce it.
Rebuilding the installer as a 64-bit app would be the ideal situation, but all that's really needed to proceed now is a simple zip-file deployment option in addition to the current installer.
I wrote an installation script in Powershell (https://gist.github.com/msnelling/49f222f5d608c55b1537639e86599645)
Parameters:
"$Env:ProgramFiles\Miniconda3"
Nanoserver Requirements:
I would have had the script also download the .exe and extract it but 7z chokes on the file.
ping! Just checking (hoping) a zip-file deployment option will be available for py36 Miniconda?
Yes - though the py36 Miniconda installers are not available yet (hoping this week), but when they are, there will be zip versions posted here: https://repo.continuum.io/miniconda/.winzip/
Great! Just to be clear though, the current "zip" files just unpack the exe installer which wouldn't help with the nanoserver install - the zip file has to contain the actual xcopy-able files/folders for it to be useful for making nanoserver images.
Not sure where to mention this but it appears that find.exe
doesn't exist on nanoserver so I was running into some conda issues. It appears that conda master no longer uses find.exe
so the point is moot, however it might still be worth noting.
cc @mingwandroid
I've checked the latest "zip file" installers and found that they are still just the exe bundled in a zip file. The exe doesn't work on nanoserver as described in #1219.
Are there any plans for an actual zip file deployment which will work on nanoserver?
I also just checked the "zip file" installers mentioned above and they are still just wrapping the .exe installer.
@msarahan @mingwandroid I'm not sure the conda clone
solution would work either, this would require an existing Python install to install conda? The point of using Miniconda is to use it as the installed Python distribution.
I don't really follow the details but for future reference this ML thread seemed to have some valuable information in it (related to #1219 it seems)
On Monday, 12 December 2016 12:38:06 UTC, Mark Snelling wrote:
On Sunday, 11 December 2016 03:11:48 UTC, Dave Hirschfeld wrote:
On Thursday, 8 December 2016 21:45:32 UTC+10, Mark Snelling wrote:
On Tuesday, 6 December 2016 23:15:03 UTC, Dave Hirschfeld wrote:
On Wednesday, 7 December 2016 00:17:39 UTC+10, Mark Snelling wrote:
CC @dhirschfeld