Hi, I really have a huge problem when trying to install from Octopus Python 2.7 in silent mode.
PowerShell Core code is very very simple:
$arguments_python = @(
Write-Host("========== Python Installation Install ==========")
Start-Process -FilePath “$DOWNLOAD_FOLDER\python-2.7.13.amd64.msi” -ArgumentList $arguments_python -Wait
Write-Host("========== Python Installation Complete ==========")
If I install it from Octopus:
- Python2.7 folder is created
- it has value within the registry
*it does NOT EXIST in Control Panel list of Programs. I cannot even uninstall it.
I tried to set ALLUSERS=1 I thought it might help but it didn’t.
IF I try to execute the same code directly from the server logged with my credentials everything works ok: I have python folder, registry and record in Control Panel. It is then recognizable.
Please assist me on this. Is this because Deployment Process is run as “SYSTEM” user?
But how to install this MSI from Octopus and to be recognizable when I log into the server, because I am facing many issues when I do not have program listed in Control Panel (while manual installation installs it properly as well as powershell code run directly on the server - not from octopus).
In installed previously some msi packages and they were fine but really having big issues with this. It seems like some permissions on user issue… I really do not know…Pyhton installation should be quite straightforward
Thanks for reaching out. I have to agree, this does seem like a permissions issue. Before we dig in and try to figure out the cause of this, I just wanted to ask if you have considered using Chocolatey? It works pretty well with our Tentacles and could resolve this issue as well as simplify the process of installing common apps through Octopus in the future.
If Chocolatey is not a workable solution for you let me know and I can try to dig in and see what’s going wrong here. If so, please provide your server and tentacle version, and if you are running the tentacle as a service account or as local system(I believe you stated this above, but wanted to confirm).
thank you for your reply since I am out of options but I do have one important update - but which unfortunately does not resolve the issue - if I set windows Service “Octopus Deploy Tentacle” to run as my user (which I use to login to Deployment Target) then Python installation (and all other installations) works fine and installed product does appear for me in Control Panel even when I deploy it from Octopus!!!
But of course this is not acceptable for production environment where those machines will not have my login, they will be provisioned automatically etc.
So if the “Octopus Deploy Tentacle” is run by “Local system account” then it does not work properly.
Although pyhton on their documentation (https://www.python.org/download/releases/2.4/msi/) states that ALLUSERS=1 should be enough!
Running Tentacle version 5.0.13
Tentacle communication uses a ‘sha256RSA’ certificate
Running latest version of Calamari: 11.1.2
Thank you in advance, since we really cannot proceed with project without this : (
I’ll try to reproduce this in my local environment and I’ll get back to you when I have more information.
Please feel free to reach out in the meantime.
thank you very much!
I am not sure if it is possible to install it using Chocolatey since I am having the same issue for Python, but also for MSI developed from my company, also for package Visual C++ compiler for Python 2.7… so there are multipe of them…
There are however some of MSIs which can be installed without issues, but having issues with these mentioned ones, so I do not think it is possible to resolve it using Chocolatey : (
Thank you in advance!
Could you please also let me know which version of Octopus Server you’re running?
I managed to resolve the issue somehow.
Dpeloyment must be run as LOCAL SYSTEM user and there is no doubt about that.
But the issue was that my first installation was not performed with setting “ALLUSERS=1”. It then indicates that any further deployment ignores this setting because product/package exists deeply hidden within the registry (HKEY_USERS.Default). DEFAULT is registry for SYSTEM user. So in my case Python was hidden in HKEY_USERS.Default\Software\Microsoft\Installer
Once I delete it manually I then run again with ALLUSERS=1 and then it worked. Now when I login I can see as my user MSI programs listed in Control Panel.
What I am facibg as issue now (I will probably open a new Topic) is that if I try to import Python package with standard pip.exe command - I am getting message that my pip should be updated! But if I do that manually it imports new packages while if I do it through the Octopus deployment FAILS!?
How is this possible? Why Octopus threats those warnings as errors since in manual process import of those packages is successful?
Invoke-Expression "$PYTHON_PATH\Scripts\pip.exe install
"You are using pip version 9.0.1, however version 20.1.1 is available.
You should consider upgrading via the ‘python -m pip install --upgrade pip’ command."
This generates ERROR and I cannot perform my deployment???
I’m glad to hear you got it resolved. As far as the failed deployments, unfortunately, if the program you call from Octopus writes to the error stream, Octopus will interpret it as a failure. If you don’t want to upgrade pip like it is advising you to do, you can suppress these warnings by following the instructions here.
Another option would be for you to redirect the output using the documentation here.
Please let me know if those solutions work for you.
This topic was automatically closed 31 days after the last reply. New replies are no longer allowed.