@@ -829,20 +829,27 @@ def _create_batch_scripts_initial(self):
829
829
winpython_inidefault=r'''
830
830
[debug]
831
831
state = disabled
832
+ [inactive_environment_per_user]
833
+ ## <?> changing this segment to [active_environment_per_user] makes this segment of lines active or not
834
+ HOME = %HOMEDRIVE%%HOMEPATH%\Documents\WinPython%WINPYVER%\settings
835
+ USERPROFILE = %HOME%
836
+ JUPYTER_DATA_DIR = %HOME%
837
+ WINPYWORKDIR = %HOMEDRIVE%%HOMEPATH%\Documents\WinPython%WINPYVER%\Notebooks
838
+ [inactive_environment_common]
839
+ USERPROFILE = %HOME%
832
840
[environment]
833
- #HOME = %HOMEDRIVE%%HOMEPATH%\Documents\WinPython%WINPYVER%
834
- #USERPROFILE = %HOME%
835
- #JUPYTER_DATA_DIR = %HOME%
841
+ ## <?> Uncomment lines to override environment variables
836
842
#JUPYTERLAB_SETTINGS_DIR = %HOME%\.jupyter\lab
837
843
#JUPYTERLAB_WORKSPACES_DIR = %HOME%\.jupyter\lab\workspaces
838
- #WINPYWORKDIR = %HOMEDRIVE%%HOMEPATH%\Documents\WinPython%WINPYVER%\Notebooks
839
844
#R_HOME=%WINPYDIRBASE%\t\R
840
845
#R_HOMEbin=%R_HOME%\bin\x64
841
846
#JULIA_HOME=%WINPYDIRBASE%\t\Julia\bin\
842
847
#JULIA_EXE=julia.exe
843
848
#JULIA=%JULIA_HOME%%JULIA_EXE%
844
849
#JULIA_PKGDIR=%WINPYDIRBASE%\settings\.julia
845
850
#QT_PLUGIN_PATH=%WINPYDIR%\Lib\site-packages\pyqt5_tools\Qt\plugins
851
+
852
+
846
853
'''
847
854
848
855
def get_file(file_name):
@@ -900,13 +907,18 @@ def main():
900
907
data = l.split("=", 1)
901
908
if segment == "debug" and data[0].strip() == "state":
902
909
data[0] = "WINPYDEBUG"
903
- if segment in ["environment", "debug"]:
910
+ if segment in ["environment", "debug", "active_environment_per_user", "active_environment_common" ]:
904
911
txt += f"set {data[0].strip()}={translate(data[1].strip(), env)}&& "
905
912
env[data[0].strip()] = translate(data[1].strip(), env)
906
913
if segment == "debug" and data[0].strip() == "state":
907
914
txt += f"set WINPYDEBUG={data[1].strip()}&&"
908
915
909
916
print(txt)
917
+
918
+ # set potential directory
919
+ for i in ('HOME', 'WINPYWORKDIR'):
920
+ if i in env:
921
+ os.makedirs(Path(env[i]), exist_ok=True)
910
922
# later_version:
911
923
# p = subprocess.Popen(["start", "cmd", "/k", "set"], shell = True)
912
924
# p.wait() # I can wait until finished (although it too finishes after start finishes)
@@ -964,62 +976,24 @@ def _create_batch_scripts(self):
964
976
965
977
self .create_batch_script (
966
978
"make_working_directory_be_not_winpython.bat" ,
967
- r"""@echo off
968
- set winpython_ini=%~dp0..\\settings\winpython.ini
969
- (
970
- echo [debug]
971
- echo state = disabled
972
- echo [environment]
973
- echo ## <?> Uncomment lines to override environment variables
974
- echo HOME = %%HOMEDRIVE%%%%HOMEPATH%%\Documents\WinPython%%WINPYVER%%\settings
975
- echo USERPROFILE = %%HOME%%
976
- echo JUPYTER_DATA_DIR = %%HOME%%
977
- echo #JUPYTERLAB_SETTINGS_DIR = %%HOME%%\.jupyter\lab
978
- echo #JUPYTERLAB_WORKSPACES_DIR = %%HOME%%\.jupyter\lab\workspaces
979
- echo WINPYWORKDIR = %%HOMEDRIVE%%%%HOMEPATH%%\Documents\WinPython%%WINPYVER%%\Notebooks
980
- ) > "%winpython_ini%"
981
- call "%~dp0env_for_icons.bat"
982
- mkdir %HOMEDRIVE%%HOMEPATH%\Documents\WinPython%WINPYVER%\settings
983
- mkdir %HOMEDRIVE%%HOMEPATH%\Documents\WinPython%WINPYVER%\settings\AppData
984
- mkdir %HOMEDRIVE%%HOMEPATH%\Documents\WinPython%WINPYVER%\settings\AppData\Roaming
979
+ r"""call "%~dp0env_for_icons.bat"
980
+ "%PYTHON%" -c "from winpython.utils import patch_sourcefile;patch_sourcefile(r'%~dp0..\\settings\winpython.ini', '[active_environment', '[inactive_environment' )"
981
+ "%PYTHON%" -c "from winpython.utils import patch_sourcefile;patch_sourcefile(r'%~dp0..\\settings\winpython.ini', '[inactive_environment_per_user]', '[active_environment_per_user]' )"
985
982
""" ,
986
983
)
987
984
988
985
self .create_batch_script (
989
986
"make_working_directory_be_winpython.bat" ,
990
- r"""@echo off
991
- set winpython_ini=%~dp0..\\settings\winpython.ini
992
- (
993
- echo [debug]
994
- echo state = disabled
995
- echo [environment]
996
- echo ## <?> Uncomment lines to override environment variables
997
- echo #HOME = %%HOMEDRIVE%%%%HOMEPATH%%\Documents\WinPython%%WINPYVER%%\settings
998
- echo #USERPROFILE = %%HOME%%
999
- echo #JUPYTER_DATA_DIR = %%HOME%%
1000
- echo #JUPYTERLAB_SETTINGS_DIR = %%HOME%%\.jupyter\lab
1001
- echo #JUPYTERLAB_WORKSPACES_DIR = %%HOME%%\.jupyter\lab\workspaces
1002
- echo #WINPYWORKDIR = %%HOMEDRIVE%%%%HOMEPATH%%\Documents\WinPython%%WINPYVER%%\Notebooks
1003
- ) > "%winpython_ini%"
987
+ r"""call "%~dp0env_for_icons.bat"
988
+ "%PYTHON%" -c "from winpython.utils import patch_sourcefile;patch_sourcefile(r'%~dp0..\\settings\winpython.ini', '[active_environment', '[inactive_environment' )"
1004
989
""" ,
1005
990
)
1006
991
1007
992
self .create_batch_script (
1008
993
"make_working_directory_and_userprofile_be_winpython.bat" ,
1009
- r"""@echo off
1010
- set winpython_ini=%~dp0..\\settings\winpython.ini
1011
- (
1012
- echo [debug]
1013
- echo state = disabled
1014
- echo [environment]
1015
- echo ## <?> Uncomment lines to override environment variables
1016
- echo #HOME = %%HOMEDRIVE%%%%HOMEPATH%%\Documents\WinPython%%WINPYVER%%\settings
1017
- echo USERPROFILE = %%HOME%%
1018
- echo #JUPYTER_DATA_DIR = %%HOME%%
1019
- echo #JUPYTERLAB_SETTINGS_DIR = %%HOME%%\.jupyter\lab
1020
- echo #JUPYTERLAB_WORKSPACES_DIR = %%HOME%%\.jupyter\lab\workspaces
1021
- echo #WINPYWORKDIR = %%HOMEDRIVE%%%%HOMEPATH%%\Documents\WinPython%%WINPYVER%%\Notebooks
1022
- ) > "%winpython_ini%"
994
+ r"""call "%~dp0env_for_icons.bat"
995
+ "%PYTHON%" -c "from winpython.utils import patch_sourcefile;patch_sourcefile(r'%~dp0..\\settings\winpython.ini', '[active_environment', '[inactive_environment' )"
996
+ "%PYTHON%" -c "from winpython.utils import patch_sourcefile;patch_sourcefile(r'%~dp0..\\settings\winpython.ini', '[inactive_environment_common]', '[active_environment_common]' )"
1023
997
""" ,
1024
998
)
1025
999
0 commit comments