BrainMaGe icon indicating copy to clipboard operation
BrainMaGe copied to clipboard

Does this project support running on win10 system?

Open ljljlj02 opened this issue 3 years ago • 16 comments

What changes would be required if the project were to run on Windows 10?

ljljlj02 avatar Nov 04 '21 03:11 ljljlj02

Nothing, this should work on Windows.

sarthakpati avatar Nov 04 '21 10:11 sarthakpati

This is my first time using the git command(my system is Win10). After I download git software, I run git clone https://github.com/CBICA/BrainMaGe.git successfully。 But when I execute the XXX command git lfs pull,The following error was encountered `Error updating the git index: (0/2), 148 MB | 23 KB/s error: BrainMaGe/init.py: cannot add to the index - missing --add option? fatal: Unable to process path BrainMaGe/init.py

Errors logged to C:\Users\x\BrainMaGe.git\lfs\logs\20211105T170409.6038543.log Use git lfs logs last to view the log. batch response: Post "https://github.com/CBICA/BrainMaGe.git/info/lfs/objects/batch": read tcp 192.xxx.xxx.6:58853->20.205.243.xxx:443: wsarecv: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond. cannot write data to tempfile "C:\Users\x\BrainMaGe\.git\lfs\incomplete\7eff7f10d541c5f2204b6e3882ea1070698c11e10a3d77918589692e36e0cf1c4123608929": LFS: read tcp 192.xxx.xxx.6:59111->185.xxx.xxx.xxx:443: i/o timeout error: failed to fetch some objects from 'https://github.com/CBICA/BrainMaGe.git/info/lfs' ` I don't know what went wrong. Any help would be greatly appreciated.

ljljlj02 avatar Nov 05 '21 09:11 ljljlj02

Hey,

I am able to run the same instructions:

(base) PS C:\Users\tester> cd .\Downloads\test_brainmage\
(base) PS C:\Users\tester\Downloads\test_brainmage> git clone https://github.com/CBICA/BrainMaGe.git
Cloning into 'BrainMaGe'...
remote: Enumerating objects: 1009, done.
remote: Counting objects: 100% (291/291), done.
remote: Compressing objects: 100% (195/195), done.
remote: Total 1009 (delta 170), reused 183 (delta 96), pack-reused 718
Receiving objects: 100% (1009/1009), 241.65 KiB | 3.36 MiB/s, done.
Resolving deltas: 100% (614/614), done.
(base) PS C:\Users\tester\Downloads\test_brainmage> cd BrainMaGe
(base) PS C:\Users\tester\Downloads\test_brainmage\BrainMaGe> git lfs pull
(base) PS C:\Users\tester\Downloads\test_brainmage\BrainMaGe> conda env create -f requirements.yml
Collecting package metadata (repodata.json): done

Have you installed Git-LFS? If not, can you install and try the command once again?

sarthakpati avatar Nov 05 '21 12:11 sarthakpati

I downloaded git-lfs and executed the following command at Git Bash: `x@DESKTOP-xxx MINGW64 ~/BrainMaGe (master) $ git lfs install Updated git hooks. Git LFS initialized.

x@DESKTOP-xxx MINGW64 ~/BrainMaGe (master) $ git lfs pull Downloading LFS objects: 0% (0/1), 30 MB | 33 KB/s Downloading LFS objects: 0% (0/1), 30 MB | 33 KB/s

Downloading LFS objects: 0% (0/1), 38 MB | 14 KB/s

Error updating the git index: (0/1), 65 MB | 13 KB/s error: BrainMaGe/init.py: cannot add to the index - missing --add option? fatal: Unable to process path BrainMaGe/init.py

Errors logged to xxx\BrainMaGe.git\lfs\logs\20211106T140903.7362199.log Use git lfs logs last to view the log. batch response: Post "https://github.com/CBICA/BrainMaGe.git/info/lfs/objects/batch": dial tcp xx.xxx.x.16xx6:443: connectex: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond. error: failed to fetch some objects from 'https://github.com/CBICA/BrainMaGe.git/info/lfs' `

I googled the error and the answer is this: https://github.com/git-lfs/git-lfs/issues/3457 It is a pity that I am not able to solve it. I think the operation mode of your project is similar to PyRadiommics, but it is difficult for me as a novice to operate Git, so I may have to find other ways to remove the skull.

ljljlj02 avatar Nov 06 '21 06:11 ljljlj02

You could try using wget directly:

cd BrainMaGe
wget https://github.com/CBICA/BrainMaGe/raw/master/BrainMaGe/weights/resunet_ma.pt ./BrainMaGe/weights
wget https://github.com/CBICA/BrainMaGe/raw/master/BrainMaGe/weights/resunet_multi_4.pt ./BrainMaGe/weights

Example:

(base) user@cbica-bakas-pc06:/mnt/c/Users/user/Downloads$ wget https://github.com/CBICA/BrainMaGe/raw/master/BrainMaGe/weights/resunet_ma.pt .
--2021-11-06 09:57:24--  https://github.com/CBICA/BrainMaGe/raw/master/BrainMaGe/weights/resunet_ma.pt
Resolving github.com (github.com)... 140.82.112.4
Connecting to github.com (github.com)|140.82.112.4|:443... connected.
HTTP request sent, awaiting response... 302 Found
Location: https://media.githubusercontent.com/media/CBICA/BrainMaGe/master/BrainMaGe/weights/resunet_ma.pt [following]
--2021-11-06 09:57:24--  https://media.githubusercontent.com/media/CBICA/BrainMaGe/master/BrainMaGe/weights/resunet_ma.pt
Resolving media.githubusercontent.com (media.githubusercontent.com)... 185.199.111.133, 185.199.110.133, 185.199.108.133, ...
Connecting to media.githubusercontent.com (media.githubusercontent.com)|185.199.111.133|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 33215195 (32M) [application/octet-stream]
Saving to: ‘resunet_ma.pt’

resunet_ma.pt                    100%[==========================================================>]  31.68M  13.3MB/s    in 2.4s

2021-11-06 09:57:27 (13.3 MB/s) - ‘resunet_ma.pt’ saved [33215195/33215195]

--2021-11-06 09:57:27--  http://./
Resolving . (.)... failed: No address associated with hostname.
wget: unable to resolve host address ‘.’
FINISHED --2021-11-06 09:57:29--
Total wall clock time: 5.0s
Downloaded: 1 files, 32M in 2.4s (13.3 MB/s)

This should give you the model weights without using LFS.

sarthakpati avatar Nov 06 '21 13:11 sarthakpati

I'm trying to get this installed on windows after everything worked fine on linux, but the outcome is quite different. In my case, it is the requirements.yml that fails. A lot of the packages aren't found on conda defaults channel, but when I added conda-forge the solve became intractable, and when I moved those packages to pip then I got hundreds of conflicts. I already re-created the yml file without the build-specific info, but that didn't help. Any thoughts appreciated!

jeb2112 avatar Dec 06 '23 16:12 jeb2112

Can you please give details on what you have tried thus far? It would be ideal if you could provide specific commands and their associated outputs.

sarthakpati avatar Dec 06 '23 16:12 sarthakpati

Certainly, yes. OK so I have windows 10 with anaconda installed, using anaconda prompt.

  1. git clone https://github.com/CBICA/BrainMaGe.git
  2. i pulled the weights files manually with curl, although i had used git lfs successfully on linux
  3. conda env create -f requirements.yml Solving environment: failed ResolvePackageNotFound:
  • pandas==1.0.5=py36h0573a6f_0
  • snappy==1.1.7=hbae5bb6_3
  • fribidi==1.0.5=h7b6447c_0 ... etc
  1. after reading about platform-specific tags, i created a new .yml file from my working linux env like this: conda env export -n brainmage -f newrequirements.yml --no-builds Then back on windows:
  2. conda env create -f newrequirements.yml This gave a similar resolve failure as above, but with much fewer packages.
  3. I tried adding conda-forge channel to the newrequirements.yml, and that picked up another half-dozen packages.
  4. I moved all the missed packages into the pip section of the newrequirements.yml file. Now, the solver appeared to hit a wall with no progress in over 10 minutes. I killed that, removed conda-forge from the list of channels, and moved those half-dozen packages found from conda-forge from the conda section to the pip section.
  5. The solver went farther this time, found no missed packages, but instead now reported conflicts: Found conflicts! Looking for incompatible packages. This can take several minutes. Press CTRL-C to abort. Examining conflict for pytest-arraydiff pytest-remotedata pytest-doctestplus pytest-astropy-header pytest-openfiles pytest-astropy anaconda: : 302it ... etc 10 more of these lines

That's as far as I got. It seems like something pretty basic (and possibly simple) must be wrong, because everything went so smoothly on linux. If you can spot anything that would be awesome, this tool worked great on linux but my colleagues can only use it on windows.

jeb2112 avatar Dec 06 '23 16:12 jeb2112

Can you send the newrequirements.yml file? Also, tagging @Geeks-Sid for further clarification.

sarthakpati avatar Dec 06 '23 16:12 sarthakpati

Can you send the newrequirements.yml file? Also, tagging @Geeks-Sid for further clarification.

@Geeks-Sid, I am getting the following failure:

(base) PS C:\Projects> git clone https://github.com/CBICA/BrainMaGe.git
Cloning into 'BrainMaGe'...
remote: Enumerating objects: 1230, done.
remote: Counting objects: 100% (143/143), done.
remote: Compressing objects: 100% (18/18), done.
remote: Total 1230 (delta 134), reused 125 (delta 125), pack-reused 1087
Receiving objects: 100% (1230/1230), 2.40 MiB | 8.49 MiB/s, done.
Resolving deltas: 100% (772/772), done.
(base) PS C:\Projects> cd .\BrainMaGe\
(base) PS C:\Projects\BrainMaGe> git lfs pull
(base) PS C:\Projects\BrainMaGe> 2), 66 MB | 9.2 MB/s
(base) PS C:\Projects\BrainMaGe> conda env create -f requirements.yml
Collecting package metadata (repodata.json): done
Solving environment: failed

ResolvePackageNotFound:
  - gevent==1.4.0=py36h7b6447c_0
  - curl==7.69.1=hbc83047_0
  - libxcb==1.13=h1bed415_1
  - zstd==1.4.4=h0b5b093_3
  - numexpr==2.7.1=py36h423224d_0
  - pycrypto==2.6.1=py36h7b6447c_10
  - wrapt==1.12.1=py36h7b6447c_1
  - fontconfig==2.13.0=h9420a91_0
  - ncurses==6.2=he6710b0_1
  - glib==2.63.1=h5a9c865_0
  - libuuid==1.0.3=h1bed415_2
  - scikit-learn==0.23.1=py36h423224d_0
  - sqlalchemy==1.3.17=py36h7b6447c_0
  - lxml==4.5.1=py36hefd8a0e_0
  - pytables==3.6.1=py36h71ec239_0
  - mpc==1.1.0=h10f8cd9_1
  - ujson==1.35=py36h14c3975_0
  - readline==8.0=h7b6447c_0
  - hdf5==1.10.4=hb1b8bf9_0
  - cairo==1.14.12=h8948797_3
  - libffi==3.2.1=hd88cf55_4
  - pyrsistent==0.16.0=py36h7b6447c_0
  - ninja==1.9.0=py36hfd86e86_0
  - sip==4.19.8=py36hf484d3e_0
  - jbig==2.1=hdba287a_0
  - cython==0.29.20=py36he6710b0_0
  - qt==5.9.7=h5867ecd_1
  - yaml==0.1.7=had09818_2
  - pywavelets==1.1.1=py36h7b6447c_0
  - libssh2==1.9.0=h1ba5d50_1
  - pycurl==7.43.0.5=py36h1ba5d50_0
  - mkl-service==2.3.0=py36he904b0f_0
  - ptyprocess==0.6.0=py36_0
  - krb5==1.17.1=h173b8e3_0
  - wurlitzer==2.0.0=py36_0
  - bzip2==1.0.8=h7b6447c_0
  - pcre==8.43=he6710b0_0
  - llvmlite==0.32.1=py36hd408876_0
  - greenlet==0.4.16=py36h7b6447c_0
  - libarchive==3.4.2=h62408e4_0
  - numpy-base==1.18.5=py36hde5b4d6_0
  - immutables==0.14=py36h7b6447c_0
  - gstreamer==1.14.0=hb453b48_1
  - bitarray==1.2.2=py36h7b6447c_0
  - libedit==3.1.20191231=h7b6447c_0
  - cytoolz==0.10.1=py36h7b6447c_0
  - astropy==4.0.1.post1=py36h7b6447c_1
  - gst-plugins-base==1.14.0=hbbd80ab_1
  - secretstorage==3.1.2=py36_0
  - gmp==6.1.2=h6c8ec71_1
  - liblief==0.10.1=he6710b0_0
  - matplotlib-base==3.2.2=py36hef1b27d_0
  - libpng==1.6.37=hbc83047_0
  - markupsafe==1.1.1=py36h7b6447c_0
  - python==3.6.10=hcf32534_1
  - pyqt==5.9.2=py36h05f1152_2
  - cffi==1.14.0=py36h2e261b9_0
  - pycosat==0.6.3=py36h7b6447c_0
  - openssl==1.1.1g=h7b6447c_0
  - pytorch==1.5.1=py3.6_cuda9.2.148_cudnn7.6.3_0
  - mkl_fft==1.1.0=py36h23d657b_0
  - numpy==1.18.5=py36ha1c710e_0
  - unixodbc==2.3.7=h14c3975_0
  - mistune==0.8.4=py36h7b6447c_0
  - zlib==1.2.11=h7b6447c_3
  - icu==58.2=he6710b0_3
  - _anaconda_depends==2020.02=py36_0
  - tk==8.6.10=hbc83047_0
  - bottleneck==1.3.2=py36heb32a55_1
  - zeromq==4.3.1=he6710b0_3
  - pango==1.42.4=h049681c_0
  - pyodbc==4.0.30=py36he6710b0_0
  - libtiff==4.1.0=h2733197_1
  - libsodium==1.0.16=h1bed415_0
  - msgpack-python==1.0.0=py36hfd86e86_1
  - cryptography==2.9.2=py36h1ba5d50_0
  - expat==2.2.6=he6710b0_0
  - scipy==1.4.1=py36h0b6359f_0
  - ripgrep==11.0.2=he32d670_0
  - fastcache==1.1.0=py36h7b6447c_0
  - tbb==2020.0=hfd86e86_0
  - rtree==0.9.4=py36_1
  - xz==5.2.5=h7b6447c_0
  - libspatialindex==1.9.3=he6710b0_0
  - libxml2==2.9.10=he19cac6_1
  - libgcc-ng==9.1.0=hdf63c60_0
  - graphite2==1.3.13=h23475e2_0
  - libstdcxx-ng==9.1.0=hdf63c60_0
  - regex==2020.5.14=py36h7b6447c_0
  - typed-ast==1.4.1=py36h7b6447c_0
  - freetype==2.10.2=h5ab3b9f_0
  - blosc==1.19.0=hd408876_0
  - ld_impl_linux-64==2.33.1=h53a641e_7
  - lazy-object-proxy==1.5.0=py36h7b6447c_0
  - libcurl==7.69.1=h20c2e04_0
  - snappy==1.1.7=hbae5bb6_3
  - libtool==2.4.6=h7b6447c_5
  - ruamel_yaml==0.15.87=py36h7b6447c_0
  - lz4-c==1.9.2=he6710b0_0
  - patchelf==0.11=he6710b0_0
  - brotlipy==0.7.0=py36h7b6447c_1000
  - sqlite==3.32.3=h62c20be_0
  - scikit-image==0.16.2=py36h0573a6f_0
  - get_terminal_size==1.0.0=haa9412d_0
  - gmpy2==2.0.8=py36h10f8cd9_2
  - kiwisolver==1.2.0=py36hfd86e86_0
  - tornado==6.0.4=py36h7b6447c_1
  - jpeg==9b=h024ee3a_2
  - harfbuzz==1.8.8=hffaf4a1_0
  - mpfr==4.0.1=hdf1c602_3
  - mkl_random==1.1.1=py36h0573a6f_0
  - numba==0.49.1=py36h0573a6f_0
  - pyyaml==5.3.1=py36h7b6447c_0
  - mkl==2020.1=217
  - pyzmq==18.1.1=py36he6710b0_0
  - psutil==5.7.0=py36h7b6447c_0
  - statsmodels==0.11.1=py36h7b6447c_0
  - fribidi==1.0.5=h7b6447c_0
  - py-lief==0.10.1=py36h403a769_0
  - intel-openmp==2020.1=217
  - lzo==2.10=h7b6447c_2
  - pillow==7.1.2=py36hb39fc2d_0
  - pandas==1.0.5=py36h0573a6f_0
  - libgfortran-ng==7.3.0=hdf63c60_0
  - pixman==0.38.0=h7b6447c_0
  - h5py==2.10.0=py36h7918eee_0
  - dbus==1.13.14=hb2f20db_0

sarthakpati avatar Dec 06 '23 16:12 sarthakpati

Yes here it is.

name: brainmage
channels:
  - pytorch
  - defaults
dependencies:
  - _libgcc_mutex=0.1
  - alabaster=0.7.12
  - anaconda=custom
  - anaconda-client=1.7.2
  - anaconda-project=0.8.4
  - argh=0.26.2
  - asn1crypto=1.3.0
  - astroid=2.3.3
  - astropy=4.0.1.post1
  - atomicwrites=1.4.0
  - attrs=19.3.0
  - autopep8=1.4.3
  - babel=2.8.0
  - backcall=0.2.0
  - backports=1.0
  - backports.shutil_get_terminal_size=1.0.0
  - beautifulsoup4=4.9.1
  - bitarray=1.2.2
  - bkcharts=0.2
  - blas=1.0
  - bleach=3.1.5
  - blosc=1.19.0
  - bokeh=2.1.0
  - boto=2.49.0
  - bottleneck=1.3.2
  - brotlipy=0.7.0
  - bzip2=1.0.8
  - ca-certificates=2020.1.1
  - cairo=1.14.12
  - certifi=2020.6.20
  - cffi=1.14.0
  - chardet=3.0.4
  - click=7.1.2
  - cloudpickle=1.4.1
  - clyent=1.2.2
  - colorama=0.4.3
  - contextlib2=0.6.0.post1
  - contextvars=2.4
  - cryptography=2.9.2
  - cudatoolkit=9.2
  - curl=7.69.1
  - cycler=0.10.0
  - cython=0.29.20
  - cytoolz=0.10.1
  - dask=2.19.0
  - dask-core=2.19.0
  - decorator=4.4.2
  - defusedxml=0.6.0
  - diff-match-patch=20181111
  - distributed=2.19.0
  - docutils=0.16
  - entrypoints=0.3
  - et_xmlfile=1.0.1
  - fastcache=1.1.0
  - filelock=3.0.12
  - flake8=3.7.9
  - flask=1.1.2
  - freetype=2.10.2
  - fsspec=0.7.4
  - future=0.18.2
  - get_terminal_size=1.0.0
  - gevent=1.4.0
  - glob2=0.7
  - gmpy2=2.0.8
  - greenlet=0.4.16
  - h5py=2.10.0
  - hdf5=1.10.4
  - heapdict=1.0.1
  - html5lib=1.0.1
  - hypothesis=5.16.1
  - icu=58.2
  - idna=2.9
  - imageio=2.8.0
  - imagesize=1.2.0
  - immutables=0.14
  - importlib-metadata=1.6.1
  - importlib_metadata=1.6.1
  - intel-openmp=2020.1
  - intervaltree=3.0.2
  - ipykernel=5.3.0
  - ipython=7.15.0
  - ipython_genutils=0.2.0
  - ipywidgets=7.5.1
  - isort=4.3.21
  - itsdangerous=1.1.0
  - jdcal=1.4.1
  - jedi=0.15.2
  - jeepney=0.4.3
  - jinja2=2.11.2
  - joblib=0.15.1
  - jpeg=9b
  - json5=0.9.5
  - jsonschema=3.2.0
  - jupyter=1.0.0
  - jupyter_client=6.1.3
  - jupyter_console=6.1.0
  - jupyter_core=4.6.3
  - jupyterlab=2.1.4
  - jupyterlab_server=1.1.5
  - keyring=21.1.1
  - kiwisolver=1.2.0
  - krb5=1.17.1
  - lazy-object-proxy=1.5.0
  - libarchive=3.4.2
  - libcurl=7.69.1
  - libffi=3.2.1
  - liblief=0.10.1
  - libpng=1.6.37
  - libsodium=1.0.16
  - libspatialindex=1.9.3
  - libssh2=1.9.0
  - libtiff=4.1.0
  - libxml2=2.9.10
  - libxslt=1.1.34
  - llvmlite=0.32.1
  - locket=0.2.0
  - lxml=4.5.1
  - lz4-c=1.9.2
  - lzo=2.10
  - markupsafe=1.1.1
  - matplotlib=3.2.2
  - matplotlib-base=3.2.2
  - mccabe=0.6.1
  - mistune=0.8.4
  - mkl=2020.1
  - mkl-service=2.3.0
  - mkl_fft=1.1.0
  - mkl_random=1.1.1
  - mock=4.0.2
  - more-itertools=8.4.0
  - mpc=1.1.0
  - mpfr=4.0.1
  - mpmath=1.1.0
  - msgpack-python=1.0.0
  - multipledispatch=0.6.0
  - nbconvert=5.6.1
  - nbformat=5.0.7

  - networkx=2.4
  - ninja=1.9.0
  - nltk=3.5
  - nose=1.3.7
  - notebook=6.0.3
  - numba=0.49.1
  - numexpr=2.7.1
  - numpy=1.18.5
  - numpy-base=1.18.5
  - numpydoc=1.0.0
  - olefile=0.46
  - openpyxl=3.0.3
  - openssl=1.1.1g
  - packaging=20.4
  - pandas=1.0.5
  - pandoc=2.2.3.2
  - pandocfilters=1.4.2
  - parso=0.5.2
  - partd=1.1.0
  - path=13.1.0
  - path.py=12.4.0
  - pathlib2=2.3.5
  - pathtools=0.1.2
  - patsy=0.5.1
  - pcre=8.43
  - pep8=1.7.1
  - pexpect=4.8.0
  - pickleshare=0.7.5
  - pillow=7.1.2
  - pip=20.1.1
  - pixman=0.38.0
  - pkginfo=1.5.0.1
  - pluggy=0.13.1
  - ply=3.11
  - prometheus_client=0.8.0
  - prompt-toolkit=3.0.5
  - prompt_toolkit=3.0.5
  - psutil=5.7.0
  - ptyprocess=0.6.0
  - py=1.8.2
  - py-lief=0.10.1
  - pycodestyle=2.5.0
  - pycosat=0.6.3
  - pycparser=2.20
  - pycrypto=2.6.1
  - pycurl=7.43.0.5
  - pydocstyle=5.0.2
  - pyflakes=2.1.1
  - pygments=2.6.1
  - pylint=2.4.4
  - pyodbc=4.0.30
  - pyopenssl=19.1.0
  - pyparsing=2.4.7
  - pyqt=5.9.2
  - pyrsistent=0.16.0
  - pysocks=1.7.1
  - pytables=3.6.1
  - pytest=5.4.3
  - pytest-arraydiff=0.3
  - pytest-astropy=0.8.0
  - pytest-astropy-header=0.1.2
  - pytest-doctestplus=0.7.0
  - pytest-openfiles=0.5.0
  - pytest-remotedata=0.3.2
  - python=3.6.10
  - python-dateutil=2.8.1
  - python-jsonrpc-server=0.3.4
  - python-language-server=0.31.10
  - python-libarchive-c=2.9
  - pytorch=1.5.1
  - pytz=2020.1
  - pywavelets=1.1.1
  - pyxdg=0.26
  - pyyaml=5.3.1
  - pyzmq=18.1.1
  - qdarkstyle=2.8.1
  - qt=5.9.7
  - qtawesome=0.7.2
  - qtconsole=4.7.5
  - qtpy=1.9.0
  - regex=2020.5.14
  - requests=2.24.0
  - ripgrep=11.0.2
  - rope=0.17.0
  - rtree=0.9.4
  - ruamel_yaml=0.15.87
  - scikit-image=0.16.2
  - scikit-learn=0.23.1
  - scipy=1.4.1
  - seaborn=0.10.1
  - send2trash=1.5.0
  - setuptools=47.3.1
  - simplegeneric=0.8.1
  - singledispatch=3.4.0.3
  - sip=4.19.8
  - six=1.15.0
  - snappy=1.1.7
  - snowballstemmer=2.0.0
  - sortedcollections=1.2.1
  - sortedcontainers=2.2.2
  - soupsieve=2.0.1
  - sphinx=3.1.1
  - sphinxcontrib=1.0
  - sphinxcontrib-applehelp=1.0.2
  - sphinxcontrib-devhelp=1.0.2
  - sphinxcontrib-htmlhelp=1.0.3
  - sphinxcontrib-jsmath=1.0.1
  - sphinxcontrib-qthelp=1.0.3
  - sphinxcontrib-serializinghtml=1.1.4
  - sphinxcontrib-websupport=1.2.2
  - spyder=4.1.3
  - spyder-kernels=1.9.1
  - sqlalchemy=1.3.17
  - sqlite=3.32.3
  - statsmodels=0.11.1
  - sympy=1.6
  - tbb=2020.0
  - tblib=1.6.0
  - terminado=0.8.3
  - testpath=0.4.4
  - threadpoolctl=2.1.0
  - tk=8.6.10
  - toolz=0.10.0
  - torchvision=0.6.1
  - tornado=6.0.4
  - tqdm=4.46.1
  - traitlets=4.3.3
  - typed-ast=1.4.1
  - typing_extensions=3.7.4.2
  - ujson=1.35
  - unicodecsv=0.14.1
  - urllib3=1.25.9
  - watchdog=0.10.2
  - wcwidth=0.2.4
  - webencodings=0.5.1
  - werkzeug=1.0.1
  - wheel=0.34.2
  - widgetsnbextension=3.5.1
  - wrapt=1.12.1
  - xlrd=1.2.0
  - xlsxwriter=1.2.9
  - xlwt=1.3.0
  - xz=5.2.5
  - yaml=0.1.7
  - yapf=0.29.0
  - zeromq=4.3.1
  - zict=2.0.0
  - zipp=3.1.0
  - zlib=1.2.11
  - zstd=1.4.4
  - pip:
      - jbig=2.1
      - graphite2=1.3.13
      - fribidi=1.0.5
      - libxcb=1.13
      - pango=1.42.4
      - fontconfig=2.13.0
      - libuuid=1.0.3
      - libtool=2.4.6
      - expat=2.2.6
      - _anaconda_depends=2020.02
      - ld_impl_linux-64=2.33.1
      - libedit=3.1.20191231
      - unixodbc=2.3.7
      - patchelf=0.11
      - wurlitzer=2.0.0
      - libstdcxx-ng=9.1.0
      - readline=8.0
      - gst-plugins-base=1.14.0
      - gstreamer=1.14.0
      - libgcc-ng=9.1.0
      - gmp=6.1.2
      - glib=2.63.1
      - libgfortran-ng=7.3.0
      - harfbuzz=1.8.8
      - secretstorage=3.1.2
      - dbus=1.13.14
      - ncurses=6.2      
      - absl-py==0.9.0
      - bids==0.0
      - bids-validator==1.13.1
      - brainmage==1.0.5.dev0
      - cachetools==4.1.0
      - docopt==0.6.2
      - google-auth==1.18.0
      - google-auth-oauthlib==0.4.1
      - grpcio==1.29.0
      - markdown==3.2.2
      - nibabel==3.1.0
      - num2words==0.5.13
      - oauthlib==3.1.0
      - protobuf==3.12.2
      - pyasn1==0.4.8
      - pyasn1-modules==0.2.8
      - pybids==0.11.1
      - pytorch-lightning==0.8.1
      - requests-oauthlib==1.3.0
      - rsa==4.6
      - tensorboard==2.2.2
      - tensorboard-plugin-wit==1.6.0.post3
prefix: /home/jbishop/.conda/envs/brainmage

jeb2112 avatar Dec 06 '23 17:12 jeb2112

OK finally managed to puzzle through it. I removed all the version numbers by regexp search and replace, removed about 18 packages not found on windows anaconda from the requirements, and moved 2 that could be found only on pip, from conda to pip. Then once the env created, for setup.py install i had to edit the specified version number in setup.py for scikit-image and ptorch-lightning to match the versions which ended up being downloaded from the unversioned requirements file. Then it finally worked on a test brain extraction.

jeb2112 avatar Dec 08 '23 01:12 jeb2112

OK finally managed to puzzle through it. I removed all the version numbers by regexp search and replace, removed about 18 packages not found on windows anaconda from the requirements, and moved 2 that could be found only on pip, from conda to pip. Then once the env created, for setup.py install i had to edit the specified version number in setup.py for scikit-image and ptorch-lightning to match the versions which ended up being downloaded from the unversioned requirements file. Then it finally worked on a test brain extraction.

Hi @jeb2112, this is tremendously useful information. Do you mind putting this as a pull request so that we can record the effort you've put into this as well as ensure others benefit from it? Thank you!

sarthakpati avatar Dec 08 '23 02:12 sarthakpati

Sorry I'm not actually sure how to make a pull request, I'm sort of a beginner user of github. But here is the modified requirements.yml file, and then the version number changes in setup.py follow from whatever gets downloaded. And I'm not sure if removing packages may have changed anything, I am only using the brain_mage_single_run script.

name: brainmage_noversion
channels:
  - pytorch
  - defaults
dependencies:
  - _anaconda_depends
  - _libgcc_mutex
  - alabaster
  - anaconda
  - anaconda-client
  - anaconda-project
  - argh
  - asn1crypto
  - astroid
  - astropy
  - atomicwrites
  - attrs
  - autopep8
  - babel
  - backcall
  - backports
  - backports.shutil_get_terminal_size
  - beautifulsoup4
  - bitarray
  - bkcharts
  - blas
  - bleach
  - blosc
  - bokeh
  - boto
  - bottleneck
  - brotlipy
  - bzip2
  - ca-certificates
  - cairo
  - certifi
  - cffi
  - chardet
  - click
  - cloudpickle
  - clyent
  - colorama
  - contextlib2
  - contextvars
  - cryptography
  - cudatoolkit
  - curl
  - cycler
  - cython
  - cytoolz
  - dask
  - dask-core
  - decorator
  - defusedxml
  - diff-match-patch
  - distributed
  - docutils
  - entrypoints
  - et_xmlfile
  - expat
  - fastcache
  - filelock
  - flake8
  - flask
  - fontconfig
  - freetype
  - fribidi
  - fsspec
  - future
  - get_terminal_size
  - gevent
  - glib
  - glob2
  - gmpy2
  - graphite2
  - greenlet
  - gst-plugins-base
  - gstreamer
  - h5py
  - harfbuzz
  - hdf5
  - heapdict
  - html5lib
  - hypothesis
  - icu
  - idna
  - imageio
  - imagesize
  - immutables
  - importlib-metadata
  - importlib_metadata
  - intel-openmp
  - intervaltree
  - ipykernel
  - ipython
  - ipython_genutils
  - ipywidgets
  - isort
  - itsdangerous
  - jdcal
  - jedi
  - jeepney
  - jinja2
  - joblib
  - jpeg
  - json5
  - jsonschema
  - jupyter
  - jupyter_client
  - jupyter_console
  - jupyter_core
  - jupyterlab
  - jupyterlab_server
  - keyring
  - kiwisolver
  - krb5
  - lazy-object-proxy
  - libarchive
  - libcurl
  - libffi
  - liblief
  - libpng
  - libsodium
  - libspatialindex
  - libssh2
  - libtiff
  - libxml2
  - libxslt
  - llvmlite
  - locket
  - lxml
  - lz4-c
  - lzo
  - markupsafe
  - matplotlib
  - matplotlib-base
  - mccabe
  - mistune
  - mkl
  - mkl-service
  - mkl_fft
  - mkl_random
  - mock
  - more-itertools
  - mpc
  - mpfr
  - mpmath
  - msgpack-python
  - multipledispatch
  - nbconvert
  - nbformat
  - networkx
  - ninja
  - nltk
  - nose
  - notebook
  - numba
  - numexpr
  - numpy
  - numpy-base
  - numpydoc
  - olefile
  - openpyxl
  - openssl
  - packaging
  - pandas
  - pandoc
  - pandocfilters
  - pango
  - parso
  - partd
  - path
  - path.py
  - pathlib2
  - pathtools
  - patsy
  - pcre
  - pep8
  - pexpect
  - pickleshare
  - pillow
  - pip
  - pixman
  - pkginfo
  - pluggy
  - ply
  - prometheus_client
  - prompt-toolkit
  - prompt_toolkit
  - psutil
  - ptyprocess
  - py
  - py-lief
  - pycodestyle
  - pycosat
  - pycparser
  - pycrypto
  - pycurl
  - pydocstyle
  - pyflakes
  - pygments
  - pylint
  - pyodbc
  - pyopenssl
  - pyparsing
  - pyqt
  - pyrsistent
  - pysocks
  - pytables
  - pytest
  - pytest-arraydiff
  - pytest-astropy
  - pytest-astropy-header
  - pytest-doctestplus
  - pytest-openfiles
  - pytest-remotedata
  - python
  - python-dateutil
  - python-jsonrpc-server
  - python-language-server
  - python-libarchive-c
  - pytorch
  - pytz
  - pywavelets
  - pyxdg
  - pyyaml
  - pyzmq
  - qdarkstyle
  - qt
  - qtawesome
  - qtconsole
  - qtpy
  - regex
  - requests
  - ripgrep
  - rope
  - rtree
  - ruamel_yaml
  - scikit-image
  - scikit-learn
  - scipy
  - seaborn
  - send2trash
  - setuptools
  - simplegeneric
  - singledispatch
  - sip
  - six
  - snappy
  - snowballstemmer
  - sortedcollections
  - sortedcontainers
  - soupsieve
  - sphinx
  - sphinxcontrib
  - sphinxcontrib-applehelp
  - sphinxcontrib-devhelp
  - sphinxcontrib-htmlhelp
  - sphinxcontrib-jsmath
  - sphinxcontrib-qthelp
  - sphinxcontrib-serializinghtml
  - sphinxcontrib-websupport
  - spyder
  - spyder-kernels
  - sqlalchemy
  - sqlite
  - statsmodels
  - sympy
  - tbb
  - tblib
  - terminado
  - testpath
  - threadpoolctl
  - tk
  - toolz
  - torchvision
  - tornado
  - tqdm
  - traitlets
  - typed-ast
  - typing_extensions
  - ujson
  - unicodecsv
  - urllib3
  - watchdog
  - wcwidth
  - webencodings
  - werkzeug
  - wheel
  - widgetsnbextension
  - wrapt
  - xlrd
  - xlsxwriter
  - xlwt
  - xz
  - yaml
  - yapf
  - zeromq
  - zict
  - zipp
  - zlib
  - zstd
  - pip:
      - wurlitzer
      - secretstorage
      - absl-py
      - bids
      - bids-validator
      - cachetools
      - docopt
      - google-auth
      - google-auth-oauthlib
      - grpcio
      - markdown
      - nibabel
      - num2words
      - oauthlib
      - protobuf
      - pyasn1
      - pyasn1-modules
      - pybids
      - pytorch-lightning
      - requests-oauthlib
      - rsa
      - tensorboard
      - tensorboard-plugin-wit
prefix: C:\Users\username\anaconda3\envs\brainmage_noversion

jeb2112 avatar Dec 08 '23 14:12 jeb2112

Thanks! Here are the steps for you to put in a PR:

  • Navigate to https://github.com/CBICA/BrainMaGe/edit/master/requirements.yml
  • Make your edits.
  • Click on "Commit Changes" on the top right.
  • Select "Create a new branch for this commit and start a pull request".
  • Click on "Propose changes".
  • The Pull request interface should open up at that point and you can just follow the prompts. More details are here.

sarthakpati avatar Dec 08 '23 15:12 sarthakpati

OK I see, I tried that and I think it worked.

jeb2112 avatar Dec 09 '23 14:12 jeb2112