<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class=""><br class=""><div>   PETSc folks who know a little bit about Windows Python,</div><div><br class=""></div><div><div class="">   Does the Microsoft Python environment work with the standard Python setup tools? It seems like it should but ...</div><div class=""><br class=""></div><div class=""><div class="">   Is the following error coming from the generic use of setup.py on Windows or is it somehow specific to PETSc's use of setup? </div><div class=""><br class=""></div><div class=""><div class=""> Running setup.py install for petsc ... error</div><div class="">    ERROR Command errored out with exit status 1</div><div class="">     command 'CProgram FilesPython39python.exe' -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '''CUsersArashAppDataLocalTemppip-install-2pv0ftutpetsc_718bdaa5c0fd475eb4937d6b87c8c4afsetup.py'''; __file__='''CUsersArashAppDataLocalTemppip-install-2pv0ftutpetsc_718bdaa5c0fd475eb4937d6b87c8c4afsetup.py''';f = getattr(tokenize, '''open''', open)(__file__) if os.path.exists(__file__) else io.StringIO('''from setuptools import setup; setup()''');code = f.read().replace('''rn''', '''n''');f.close();exec(compile(code, __file__, '''exec'''))' install --record 'CUsersArashAppDataLocalTemppip-record-c5j1b3k_install-record.txt' --single-version-externally-managed --user --prefix= --compile --install-headers 'CUsersArashAppDataRoamingPythonPython39Includepetsc'</div><div class="">         cwd CUsersArashAppDataLocalTemppip-install-2pv0ftutpetsc_718bdaa5c0fd475eb4937d6b87c8c4af</div><div class="">    Complete output (28 lines)</div></div></div><div class=""><br class=""></div><div>      The page   <a href="https://docs.microsoft.com/en-us/windows/python/faqs" class="">https://docs.microsoft.com/en-us/windows/python/faqs</a> has the following text:</div><div><br class=""></div><div>      <span style="caret-color: rgb(23, 23, 23); color: rgb(23, 23, 23); font-family: "Segoe UI", SegoeUI, "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 16px;" class="">To paste a path as a string in Python, add the</span><span style="caret-color: rgb(23, 23, 23); color: rgb(23, 23, 23); font-family: "Segoe UI", SegoeUI, "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 16px;" class=""> </span><code style="caret-color: rgb(23, 23, 23); color: rgb(23, 23, 23); box-sizing: inherit; font-family: SFMono-Regular, Consolas, "Liberation Mono", Menlo, Courier, monospace; font-size: 13.600000381469727px; direction: ltr; outline-color: inherit; padding: 0.1em 0.2em; border-top-left-radius: 3px; border-top-right-radius: 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px; word-wrap: break-word;" class="">r</code><span style="caret-color: rgb(23, 23, 23); color: rgb(23, 23, 23); font-family: "Segoe UI", SegoeUI, "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 16px;" class=""> </span><span style="caret-color: rgb(23, 23, 23); color: rgb(23, 23, 23); font-family: "Segoe UI", SegoeUI, "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 16px;" class="">prefix. This indicates that it is a</span><span style="caret-color: rgb(23, 23, 23); color: rgb(23, 23, 23); font-family: "Segoe UI", SegoeUI, "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 16px;" class=""> </span><code style="caret-color: rgb(23, 23, 23); color: rgb(23, 23, 23); box-sizing: inherit; font-family: SFMono-Regular, Consolas, "Liberation Mono", Menlo, Courier, monospace; font-size: 13.600000381469727px; direction: ltr; outline-color: inherit; padding: 0.1em 0.2em; border-top-left-radius: 3px; border-top-right-radius: 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px; word-wrap: break-word;" class="">raw</code><span style="caret-color: rgb(23, 23, 23); color: rgb(23, 23, 23); font-family: "Segoe UI", SegoeUI, "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 16px;" class=""> </span><span style="caret-color: rgb(23, 23, 23); color: rgb(23, 23, 23); font-family: "Segoe UI", SegoeUI, "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 16px;" class="">string, and no escape characters will be used </span><span style="caret-color: rgb(23, 23, 23); color: rgb(23, 23, 23); font-family: "Segoe UI", SegoeUI, "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 16px;" class="">except for \” (you might need to remove the last backslash in your path). So your path might look like:</span><code style="caret-color: rgb(23, 23, 23); color: rgb(23, 23, 23); box-sizing: inherit; font-family: SFMono-Regular, Consolas, "Liberation Mono", Menlo, Courier, monospace; font-size: 13.600000381469727px; direction: ltr; outline-color: inherit; padding: 0.1em 0.2em; border-top-left-radius: 3px; border-top-right-radius: 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px; word-wrap: break-word;" class="">r"C:\Users\MyName\Documents\Document.txt" </code><span style="caret-color: rgb(23, 23, 23); color: rgb(23, 23, 23); font-family: "Segoe UI", SegoeUI, "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 16px;" class="">When working with paths in Python, we recommend using the standard pathlib module. This will let you convert the string to a </span><span style="caret-color: rgb(23, 23, 23); color: rgb(23, 23, 23); font-family: "Segoe UI", SegoeUI, "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 16px;" class="">rich Path object that can do path manipulations consistently whether it uses forward slashes or backslashes, making your code</span><span style="caret-color: rgb(23, 23, 23); color: rgb(23, 23, 23); font-family: "Segoe UI", SegoeUI, "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 16px;" class="">work better across different operating systems.</span></div><div></div><div class=""><br class=""></div><div class="">     Should we/can we convert PETSc's configure and setup.py to use pathlib (and maybe need to add some r in places) to fully support using Microsoft Python and the Microsoft way of handling file systems? </div><div class=""><br class=""></div><div class="">   Thanks for any input,</div><div class=""><br class=""></div><div class="">   Barry</div><div class=""><br class=""></div><div class="">We've never supported using the Microsoft Python environment and always used cygwin python in the past.</div><div class=""><br class=""></div><div class=""> </div><div class=""><br class=""></div><div class=""><br class=""></div><blockquote type="cite" class=""><div class="">On May 6, 2021, at 1:19 PM, Satish Balay via petsc-users <<a href="mailto:petsc-users@mcs.anl.gov" class="">petsc-users@mcs.anl.gov</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div class="">Is this on windows with windows python? This likely won't work.<br class=""><br class="">Can you use WSL?<br class=""><br class="">Satish<br class=""><br class="">On Thu, 6 May 2021, Matthew Knepley wrote:<br class=""><br class=""><blockquote type="cite" class="">The error is in your script:<br class=""><br class="">   'CProgram' is not recognized as an internal or external command,<br class=""><br class=""><br class="">  Matt<br class=""><br class="">On Thu, May 6, 2021 at 2:09 PM arash rezaei <<a href="mailto:arashrezaei96@gmail.com" class="">arashrezaei96@gmail.com</a>> wrote:<br class=""><br class=""><blockquote type="cite" class="">Hello,<br class="">I want to install pets4py<br class="">I use this command:<br class=""><br class="">python -m pip install [--user] petsc petsc4py<br class=""><br class=""><br class=""></blockquote><br class=""><br class=""></blockquote><br class=""></div></div></blockquote></div><br class=""></body></html>