2
votes

I have a SQL Server 2017 instance with Machine Learning services install in database. I have a custom module that I have a wheels package built and published to a Azure Devops python artifact repo that I can install from other machines using the Azure Artifacts keyring module to authenticate.

I want to setup my machine learning server so I can pip install from this azure devops package repo, but after I install the keyring and artifacts-keyring modules per the documentation and try to pip install with the -i option to specify the url to my azure devops package repo I get prompted to authenticate with my username/password. This is different behavior on my development machines (and does not work), on those machines the keyring modules authenticate me automatically.

Looking at the github page for the artifacts-keyring module it looks like I need pip 19.2 or greater, and the machine learning server has pip 9.0.1. Running .\pip.exe install --upgrade pip from the PYTHON_SERVICES directory gives me an error:

 The system cannot move the file to a different disk drive: 'e:\\program files\\microsoft sql server\\mssql14.mssqlserver\\python_services\\scripts\\pip.exe' -> 'C:\\Users\\username\\AppData\\Local\\Temp\\7\\pip-qxx3khcz-uninstall\\program files\\microsoft sql server\\mssql14.mssqlserver\\python_services\\scripts\\pip.exe

Going further down the rabbit hole, it looks like i might need to unbind/bind the updated binaries. Has anyone configured their MS machine learning server to use a azure devops python artifact repo as a pip index? Should I approach deploying my modules a different way?

1

1 Answers

0
votes

What I did which worked for me:

Stop all of the SQL server services. I think I would have only needed to stop the Jumpstart service though.

Run the basic get-pip.py script from the PYTHON_SERVICES directory that the ML server is using. This installed the latest version of pip, as verified with .\Scripts\pip.exe -V

I then ran .\Scripts\pip.exe install keyring artifacts-keyring

I then installed my module from my index/repo .\Scripts\pip.exe install -i https://myIndexURL/ MyModule

Brought all the SQL services up and confirmed I can use my module.