FCP-INDI / cpac

A convenience wrapper for https://github.com/FCP-INDI/C-PAC that provides a simple command line interface.
https://fcp-indi.github.io/docs/latest/user/cpac
MIT License
4 stars 3 forks source link

🏁 Windows: `pwd` not available #15

Open Evan1578 opened 3 years ago

Evan1578 commented 3 years ago

Hi all,

I am currently trying to try to run the default C-PAC pipeline through a Docker container using C-PAC Python package. However, after installing C-PAC and Docker, I am running into the error - "ModuleNotFoundError: No module named 'pwd' " with stack trace:

(venv) C:\Users\Evan\PycharmProjects\DataScienceProject\venv\TDAfMRI>cpac run --help Traceback (most recent call last): File "C:\Users\Evan\AppData\Local\Programs\Python\Python38\lib\runpy.py", line 194, in _run_module_as_main return _run_code(code, main_globals, None, File "C:\Users\Evan\AppData\Local\Programs\Python\Python38\lib\runpy.py", line 87, in _run_code exec(code, run_globals) File "C:\Users\Evan\PycharmProjects\DataScienceProject\venv\Scripts\cpac.exe__main.py", line 7, in File "c:\users\evan\pycharmprojects\datascienceproject\venv\lib\site-packages\cpac__main.py", line 397, in run main(parsed) File "c:\users\evan\pycharmprojects\datascienceproject\venv\lib\site-packages\cpac\main__.py", line 307, in main Backends(**arg_vars).run( File "c:\users\evan\pycharmprojects\datascienceproject\venv\lib\site-packages\cpac\backends\init__.py", line 20, in Backends from .docker import Docker File "c:\users\evan\pycharmprojects\datascienceproject\venv\lib\site-packages\cpac\backends\docker.py", line 6, in from cpac.backends.platform import Backend, Platform_Meta File "c:\users\evan\pycharmprojects\datascienceproject\venv\lib\site-packages\cpac\backends\platform.py", line 3, in import pwd ModuleNotFoundError: No module named 'pwd'

Does anyone understand this error and how it can be avoided?

Version Details

shnizzedy commented 3 years ago

Duplicate of https://github.com/shnizzedy/cpac/issues/14

Unfortunately cpac (Python package) doesn't yet support Windows.

However, you should be able to run C-PAC directly in Docker on Windows. The usage is similar, but when running directly you need to specify volume mount bindings (-v /path/on/host:/path/in/container) and you'll probably want to specify keep STDIN open and interactive (-it) and clean up (--rm).

Just getting the help string for run doesn't need any directory bindings, so the equivalent of

cpac run --help

would be

docker run --rm -it fcpindi/c-pac:latest --help
shnizzedy commented 3 years ago

Original thread from https://github.com/shnizzedy/cpac/issues/14:

pwd is not available on Windows, so

https://github.com/shnizzedy/cpac-python-package/blob/9c3dcd6a2102b49fc7014a50a8043d7e4c97485b/src/cpac/backends/platform.py#L59

won't work on Windows. ― @shnizzedy commented on Apr 30, 2020

Can make Windows low priority, at least for now. (Sorry Windows) ― @sgiavasis commented on May 1, 2020