-
Notifications
You must be signed in to change notification settings - Fork 285
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Incorrect value of sys.executable in dotnet tool IronPython.Console #1756
Comments
Looks like we could use Just so I don't have to look it up, if needed |
My primary concern is For other scenarios, like using I'm now thinking about the following heuristics to handle the dotnet tool case: if the In case of installations from the zip file, I see that |
Description
When IronPython console executable is installed as a dotnet tool, the value of
sys.executable
is path toipy.dll
rather thanipy.exe
(oripy
on POSIX systems), which is the executable that has been run. The value ofsys.executable
is used by some Python code to recursively run Python in a subprocess.This issue exists regardless whether the tool was installed as global, or into a dedicated directory through
--tool-path
.When the tool is installed as a project tool, there is no executable available (as far as I know) and the program has to be invoked through
dotnet
, e.g.dotnet ipy
ordotnet tool run ipy
. Hard to say what should be a correct value ofsys.executable
in such a case. Perhaps IronPython could create a launcher script on the fly and report that script.Note that the value of
sys.path
is correct (i.e. it contains subdirectories of the directory containingipy.dll
).The example below is for Windows, but it is the same behavior on other OSes.
Steps to Reproduce
On Windows + PowerShell:
dotnet tool install ironpython.console --global
~\.dotnet\tools\ipy.exe -c "import sys; print(sys.executable)"
Expected behavior:
Output:
C:\Users\USERNAME\.dotnet\tools\ipy.exe
Actual behavior:
C:\Users\USERNAME\.dotnet\tools\.store\ironpython.console\3.4.1\ironpython.console\3.4.1\tools\net6.0\any\ipy.dll
Version Information
IronPython 3.4.1 (3.4.1.1000)
[.NETCoreApp,Version=v6.0 on .NET 6.0.25 (64-bit)]
Microsoft Windows [Version 10.0.22631.2715]
The text was updated successfully, but these errors were encountered: