Adding into Path var while silent installation of Python - possible bug?

怎甘沉沦 提交于 2019-12-23 12:44:03

问题


I need to passively install Python in my applications package installation so i use the following:

python-3.5.4-amd64.exe /passive PrependPath=1

according this: 3.1.4. Installing Without UI I use the PrependPath parameter which should add paths into Path in Windows environment variables.

But it seems not to work. The variables does not take any changes.

If i start installation manually and select or deselect checkbox with add into Paths then everything works.

Works same with clear installation also on modify current installation. Unfortunately i do not have other PC with Win 10 Pro to test it.

I have also tried it with Python 3.6.3 with same results.

EDIT:

Also tried with PowerShell Start-Process python-3.5.4-amd64.exe -ArgumentList /passive , PretendPath=1 with same results.

Also tested on several PCs with Windows 10, same results, so the problem is not just on single PC

EDIT: Of cource all attempts were run as administrator.


回答1:


Ok, from my point of view it seems to be bug in Python Installer and I can not find any way how to make it works.

I have founds the following workaround:

Use py.exe which is wrapper for all version of Python on local machine located in C:\Windows so you can run it directly from CMD anywhere thanks to C:\Windows is standard content of Path variable.

py -3.5 -c "import sys; print(sys.executable[:-10])"

This gives me directory of python 3.5 installation.

And then i set it into Path manually by:

setx Path %UserProfile%";PythonLocFromPreviousCommand



回答2:


try powershell to do that

Start-Process -NoNewWindow .\python.exe /passive



回答3:


Make sure you are using an elevated command prompt (ie: run as administrator).




回答4:


Have you tried to use the InstallAllUsers argument. By default it is set >to 0 so try to use it like this (which is the same example from [here][1]):

python-3.6.0.exe /quiet InstallAllUsers=1 PrependPath=1 Include_test=0 it migth make a difference to use the /quiet over /passive

[1]: https://docs.python.org /3.6/using/windows.html#installing-without-ui "the link you supplied"

To answer Erik Šťastný comment i believe that a good solution to your problem is to package python with your program to make sure that all the required libaries is preinstalled.



来源:https://stackoverflow.com/questions/47310884/adding-into-path-var-while-silent-installation-of-python-possible-bug

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!