Skip to content
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

Added a rudimentary error checking to RunProcess. #1

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

igorbakshee
Copy link

Set up a rudimentary error handling. E.g., for a pip command not on $PATH:

$ pip
-bash: pip: command not found

the following used to give multiple errors and a sub-optimal result:

In[12]:= PythonPackageVersion[]
During evaluation of In[12]:= RunProcess::pnfd: Program pip not found. Check Environment["PATH"].
During evaluation of In[12]:= StringTrim::strse: String or list of strings expected at position 1 in StringTrim[$Failed].
Out[12]= StringTrim[$Failed]

and this gave a wrong result:

In[13]:= PythonPackageInstalledQ["xx"]
During evaluation of In[13]:= RunProcess::pnfd: Program pip not found. Check Environment["PATH"].
Out[13]= True

Now the non-string result from RunProcess is no longer fed to string-processing functions:

In[16]:= PythonPackageVersion[]
During evaluation of In[16]:= RunProcess::pnfd: Program pip not found. Check Environment["PATH"].
Out[16]= $Failed

In[17]:= PythonPackageInstalledQ["xx"]
During evaluation of In[17]:= RunProcess::pnfd: Program pip not found. Check Environment["PATH"].
Out[17]= False

If it fails, the result won't be fed to string-handling postporcessing.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant