PTVS
PTVS copied to clipboard
Cannot build a project with RunPythonCommand task from MSBuild/command line
Cannot build a project with RunPythonCommand task from MSBuild/command line. The issue is a bit similar to #128.
Steps to Reproduce
- Create a Python project.
- Add a RunPythonCommand task inside CoreCompile target.
- Build with MSBuild from command line.
The example is here.
Expected behavior The project should be build normally.
Result of MSBuild
MSBuild version 17.13.15+18b3035f6 for .NET Framework
Build started 11.04.2025 17:09:25.
Project "d:\Projects\MSBuildIssue\MSBuildIssue.sln" on node 1 (default targets).
ValidateSolutionConfiguration:
Building solution configuration "Debug|Any CPU".
Project "d:\Projects\MSBuildIssue\MSBuildIssue.sln" (1) is building d:\Projects\MSBuildIssue\MSBuildIssue.pyproj" (2) on node 1 (default targets).
d:\Projects\MSBuildIssue\MSBuildIssue.pyproj(29,5): error : Unable to load one or more of the requested types. Retrieve the LoaderExceptions property for more information.
d:\Projects\MSBuildIssue\MSBuildIssue.pyproj(29,5): error : Unable to resolve environment
Done Building Project "d:\Projects\MSBuildIssue\MSBuildIssue.pyproj" (default targets) -- FAILED.
Done Building Project "d:\Projects\MSBuildIssue\MSBuildIssue.sln" (default targets) -- FAILED.
Build FAILED.
"d:\Projects\MSBuildIssue\MSBuildIssue.sln" (default target) (1) ->
"d:\Projects\MSBuildIssue\MSBuildIssue.pyproj" (default target) (2) ->
(CoreCompile target) ->
d:\Projects\MSBuildIssue\MSBuildIssue.pyproj(29,5): error : Unable to load one or more of the requested types. Retrieve the LoaderExceptions property for more information.
d:\Projects\MSBuildIssue\MSBuildIssue.pyproj(29,5): error : Unable to resolve environment
0 Warning(s)
2 Error(s)
Time Elapsed 00:00:00.36
Result of Visual Studio Build (rebuild)
Rebuild started at 17:26...
------ Rebuild All started: Project: MSBuildIssue, Configuration: Debug Any CPU ------
Deleting file "D:\Projects\MSBuildIssue\obj\Any CPU\Debug\MSBuildIssue.pyproj.CoreCompileInputs.cache".
Usage:
C:\Users\username\AppData\Local\Programs\Python\Python312\python.exe -m pip <command> [options]
Commands:
install Install packages.
download Download packages.
uninstall Uninstall packages.
freeze Output installed packages in requirements format.
inspect Inspect the python environment.
list List installed packages.
show Show information about installed packages.
check Verify installed packages have compatible dependencies.
config Manage local and global configuration.
search Search PyPI for packages.
cache Inspect and manage pip's wheel cache.
index Inspect information available from package indexes.
wheel Build wheels from your requirements.
hash Compute hashes of package archives.
completion A helper command used for command completion.
debug Show information useful for debugging.
help Show help for commands.
General Options:
-h, --help Show help.
--debug Let unhandled exceptions propagate outside the
main subroutine, instead of logging them to
stderr.
--isolated Run pip in an isolated mode, ignoring
environment variables and user configuration.
--require-virtualenv Allow pip to only run in a virtual environment;
exit with an error otherwise.
--python <python> Run pip with the specified Python interpreter.
-v, --verbose Give more output. Option is additive, and can be
used up to 3 times.
-V, --version Show version and exit.
-q, --quiet Give less output. Option is additive, and can be
used up to 3 times (corresponding to WARNING,
ERROR, and CRITICAL logging levels).
--log <path> Path to a verbose appending log.
--no-input Disable prompting for input.
--keyring-provider <keyring_provider>
Enable the credential lookup via the keyring
library if user input is allowed. Specify which
mechanism to use [auto, disabled, import,
subprocess]. (default: auto)
--proxy <proxy> Specify a proxy in the form
scheme://[user:passwd@]proxy.server:port.
--retries <retries> Maximum number of retries each connection should
attempt (default 5 times).
--timeout <sec> Set the socket timeout (default 15 seconds).
--exists-action <action> Default action when a path already exists:
(s)witch, (i)gnore, (w)ipe, (b)ackup, (a)bort.
--trusted-host <hostname> Mark this host or host:port pair as trusted,
even though it does not have valid or any HTTPS.
--cert <path> Path to PEM-encoded CA certificate bundle. If
provided, overrides the default. See 'SSL
Certificate Verification' in pip documentation
for more information.
--client-cert <path> Path to SSL client certificate, a single file
containing the private key and the certificate
in PEM format.
--cache-dir <dir> Store the cache data in <dir>.
--no-cache-dir Disable the cache.
--disable-pip-version-check
Don't periodically check PyPI to determine
whether a new version of pip is available for
download. Implied with --no-index.
--no-color Suppress colored output.
--no-python-version-warning
Silence deprecation warnings for upcoming
unsupported Pythons.
--use-feature <feature> Enable new functionality, that may be backward
incompatible.
--use-deprecated <feature> Enable deprecated functionality, that will be
removed in the future.
MSBuildIssue ->
========== Rebuild All: 1 succeeded, 0 failed, 0 skipped ==========
========== Rebuild completed at 17:26 and took 01.468 seconds ==========