public interface HelperPackage {
void addToPythonPath(@NotNull Map<String, String> environment);
+ /**
+ * @return entry (directory or ZIP archive) that will be added to <tt>PYTHONPATH</tt> environment variable before the process is started.
+ */
@NotNull
- String getPythonPath();
+ String getPythonPathEntry();
void addToGroup(@NotNull ParamsGroup group, @NotNull GeneralCommandLine cmd);
+ /**
+ * @return the first parameter passed to Python interpreter that indicates which script to run. For scripts started as modules it's
+ * module name with <tt>-m</tt> flag, like <tt>-mpackage.module.name</tt>, and for average helpers it's full path to the script.
+ */
@NotNull
String asParamString();
@Override
public void addToPythonPath(@NotNull Map<String, String> environment) {
- PythonEnvUtil.addToPythonPath(environment, getPythonPath());
+ PythonEnvUtil.addToPythonPath(environment, getPythonPathEntry());
}
@Override
final GeneralCommandLine cmd = newCommandLine(sdkHomePath, parameters);
final LanguageLevel version = PythonSdkType.getLanguageLevelForSdk(pythonSdk);
final String perVersionDependenciesDir = version.isPy3K() ? PY3_HELPER_DEPENDENCIES_DIR : PY2_HELPER_DEPENDENCIES_DIR;
- PythonEnvUtil.addToPythonPath(cmd.getEnvironment(), FileUtil.join(getPythonPath(), perVersionDependenciesDir));
+ PythonEnvUtil.addToPythonPath(cmd.getEnvironment(), FileUtil.join(getPythonPathEntry(), perVersionDependenciesDir));
return cmd;
}
}
@NotNull
@Override
- public String getPythonPath() {
+ public String getPythonPathEntry() {
return FileUtil.toSystemDependentName(myPath.getAbsolutePath());
}
}
@NotNull
@Override
- public String getPythonPath() {
+ public String getPythonPathEntry() {
return myPythonPath;
}
}
@NotNull
@Override
- public String getPythonPath() {
- return myModule.getPythonPath();
+ public String getPythonPathEntry() {
+ return myModule.getPythonPathEntry();
}
@Override