mirror of
https://gitflic.ru/project/openide/openide.git
synced 2025-12-13 15:52:01 +07:00
PY-82352 Fix reading of env files for old command line python runner
(cherry picked from commit 81df145e58cf0a509dd92ad1157916fc77978afb) IJ-MR-175438 GitOrigin-RevId: 7769f7bdfa01a0543c79b765367e774ce23a2c3c
This commit is contained in:
committed by
intellij-monorepo-bot
parent
d64795ee18
commit
5d79b9c3bb
@@ -169,8 +169,8 @@
|
||||
<configurationType implementation="com.jetbrains.python.run.FastAPILockedRunConfigurationType" order="first"/>
|
||||
<facetIgnorer implementation="com.jetbrains.python.run.DjangoFacetIgnorer"/>
|
||||
|
||||
<programRunner implementation="com.jetbrains.python.run.PythonRunner"/>
|
||||
<programRunner implementation="com.jetbrains.python.debugger.PyDebugRunner"/>
|
||||
<programRunner implementation="com.jetbrains.python.run.PythonRunner" order="before defaultRunRunner"/>
|
||||
<programRunner implementation="com.jetbrains.python.debugger.PyDebugRunner" order="before defaultDebugRunner"/>
|
||||
<runConfigurationProducer implementation="com.jetbrains.python.run.PythonRunConfigurationProducer"/>
|
||||
<xdebugger.breakpointType implementation="com.jetbrains.python.debugger.PyLineBreakpointType"/>
|
||||
<xdebugger.breakpointType implementation="com.jetbrains.python.debugger.PyExceptionBreakpointType"/>
|
||||
|
||||
@@ -649,20 +649,11 @@ public abstract class PythonCommandLineState extends CommandLineState {
|
||||
*/
|
||||
protected static void initEnvironment(Project project,
|
||||
SdkAdditionalData data,
|
||||
GeneralCommandLine commandLine,
|
||||
PythonRunParams runParams,
|
||||
@NotNull GeneralCommandLine commandLine,
|
||||
@NotNull PythonRunParams runParams,
|
||||
boolean isDebug) {
|
||||
Map<String, String> env = Maps.newHashMap();
|
||||
|
||||
final Map<String, String> env = prepareEnv(project, runParams, true);
|
||||
setupEncodingEnvs(env, commandLine.getCharset());
|
||||
|
||||
if (runParams.getEnvs() != null) {
|
||||
env.putAll(runParams.getEnvs());
|
||||
}
|
||||
addCommonEnvironmentVariables(getInterpreterPath(project, runParams), env, true);
|
||||
|
||||
setupVirtualEnvVariables(runParams, env, runParams.getSdkHome());
|
||||
|
||||
commandLine.getEnvironment().clear();
|
||||
commandLine.getEnvironment().putAll(env);
|
||||
commandLine.withParentEnvironmentType(runParams.isPassParentEnvs() ? ParentEnvironmentType.CONSOLE : ParentEnvironmentType.NONE);
|
||||
@@ -694,19 +685,13 @@ public abstract class PythonCommandLineState extends CommandLineState {
|
||||
boolean isDebug,
|
||||
@NotNull HelpersAwareTargetEnvironmentRequest helpersAwareTargetRequest,
|
||||
@Nullable Sdk sdk) {
|
||||
Map<String, String> env = Maps.newHashMap();
|
||||
var envParameters = configureEnvsFromFiles(runParams, true);
|
||||
env.putAll(envParameters);
|
||||
if (runParams.getEnvs() != null) {
|
||||
env.putAll(runParams.getEnvs());
|
||||
}
|
||||
boolean addPyCharmHosted = true;
|
||||
if (sdk != null && !CondaPythonExecKt.getUsePythonForLocalConda()) {
|
||||
addPyCharmHosted = PySdkExtKt.getOrCreateAdditionalData(sdk).getFlavor().providePyCharmHosted();
|
||||
}
|
||||
addCommonEnvironmentVariables(getInterpreterPath(project, runParams), env, addPyCharmHosted);
|
||||
final Map<String, String> env = prepareEnv(project, runParams, addPyCharmHosted);
|
||||
|
||||
setupVirtualEnvVariables(runParams, env, runParams.getSdkHome());
|
||||
setupEncodingEnvs(commandLine, commandLine.getCharset());
|
||||
|
||||
// Carefully patch environment variables
|
||||
Map<String, Function<TargetEnvironment, String>> map =
|
||||
@@ -714,8 +699,6 @@ public abstract class PythonCommandLineState extends CommandLineState {
|
||||
TargetEnvironmentRequest targetEnvironmentRequest = helpersAwareTargetRequest.getTargetEnvironmentRequest();
|
||||
PythonScripts.extendEnvs(commandLine, map, targetEnvironmentRequest.getTargetPlatform());
|
||||
|
||||
setupEncodingEnvs(commandLine, commandLine.getCharset());
|
||||
|
||||
buildPythonPath(project, commandLine, runParams, pathMapper, isDebug, targetEnvironmentRequest);
|
||||
|
||||
for (PythonCommandLineTargetEnvironmentProvider envProvider : PythonCommandLineTargetEnvironmentProvider.EP_NAME.getExtensionList()) {
|
||||
@@ -723,6 +706,20 @@ public abstract class PythonCommandLineState extends CommandLineState {
|
||||
}
|
||||
}
|
||||
|
||||
private static Map<String, String> prepareEnv(@NotNull Project project,
|
||||
@NotNull PythonRunParams runParams,
|
||||
boolean addPyCharmHosted) {
|
||||
Map<String, String> env = Maps.newHashMap();
|
||||
env.putAll(configureEnvsFromFiles(runParams, true));
|
||||
if (runParams.getEnvs() != null) {
|
||||
env.putAll(runParams.getEnvs());
|
||||
}
|
||||
addCommonEnvironmentVariables(getInterpreterPath(project, runParams), env, addPyCharmHosted);
|
||||
|
||||
setupVirtualEnvVariables(runParams, env, runParams.getSdkHome());
|
||||
return env;
|
||||
}
|
||||
|
||||
private static void setupVirtualEnvVariables(PythonRunParams myConfig, Map<String, String> env, String sdkHome) {
|
||||
Sdk sdk = PythonSdkUtil.findSdkByPath(sdkHome);
|
||||
if (sdk != null &&
|
||||
|
||||
Reference in New Issue
Block a user