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

Verify native Windows compatibility #42

Closed
ttung opened this issue Feb 5, 2018 · 7 comments
Closed

Verify native Windows compatibility #42

ttung opened this issue Feb 5, 2018 · 7 comments
Labels
research issues/questions opened for research purposes
Milestone

Comments

@ttung
Copy link
Collaborator

ttung commented Feb 5, 2018

Many collaborators are on Windows machines. We should make sure pip installation works for them w/ no usability issues.

Dependencies: #834

@ttung ttung self-assigned this Feb 5, 2018
@dganguli dganguli changed the title windows pip Verify Windows compatibility Feb 7, 2018
@bkmartinjr
Copy link

@ttung - feel free to frame what tests you want run and I can do it. Also, do you require Win32 or can you have people use WSL (ie, Ubuntu)?

@ttung
Copy link
Collaborator Author

ttung commented Feb 8, 2018

if you clone the repo and can pass pip install -r REQUIREMENTS.txt && pip install -e . && python -m unittest discover tests, we're in good shape. We should just add a windows run to travis and make sure we stay in good shape.

@bkmartinjr
Copy link

bkmartinjr commented Feb 8, 2018

Almost, but no cigar. Win10 native shell:

C:\Users\bruce\projects\starfish>python -m unittest discover tests
Downloading data ...
Data downloaded to: C:\Users\bruce\AppData\Local\Temp\tmpsyaiu1_q\raw/ExampleInSituSequencing/
{
    "data": [
        {
            "hyb": 0,
            "ch": 0,
            "file": "fov_0_H_0_C_0.tiff"
        },
        {
            "hyb": 0,
            "ch": 1,
            "file": "fov_0_H_0_C_1.tiff"
        },
        {
            "hyb": 0,
            "ch": 2,
            "file": "fov_0_H_0_C_2.tiff"
        },
        {
            "hyb": 0,
            "ch": 3,
            "file": "fov_0_H_0_C_3.tiff"
        },
        {
            "hyb": 1,
            "ch": 0,
            "file": "fov_0_H_1_C_0.tiff"
        },
        {
            "hyb": 1,
            "ch": 1,
            "file": "fov_0_H_1_C_1.tiff"
        },
        {
            "hyb": 1,
            "ch": 2,
            "file": "fov_0_H_1_C_2.tiff"
        },
        {
            "hyb": 1,
            "ch": 3,
            "file": "fov_0_H_1_C_3.tiff"
        },
        {
            "hyb": 2,
            "ch": 0,
            "file": "fov_0_H_2_C_0.tiff"
        },
        {
            "hyb": 2,
            "ch": 1,
            "file": "fov_0_H_2_C_1.tiff"
        },
        {
            "hyb": 2,
            "ch": 2,
            "file": "fov_0_H_2_C_2.tiff"
        },
        {
            "hyb": 2,
            "ch": 3,
            "file": "fov_0_H_2_C_3.tiff"
        },
        {
            "hyb": 3,
            "ch": 0,
            "file": "fov_0_H_3_C_0.tiff"
        },
        {
            "hyb": 3,
            "ch": 1,
            "file": "fov_0_H_3_C_1.tiff"
        },
        {
            "hyb": 3,
            "ch": 2,
            "file": "fov_0_H_3_C_2.tiff"
        },
        {
            "hyb": 3,
            "ch": 3,
            "file": "fov_0_H_3_C_3.tiff"
        }
    ],
    "aux": [
        {
            "type": "dapi",
            "file": "fov_0_dapi.tiff",
            "format": "TIFF"
        },
        {
            "type": "dots",
            "file": "fov_0_dots.tiff",
            "format": "TIFF"
        }
    ],
    "metadata": {
        "num_hybs": 4,
        "num_chs": 4,
        "shape": [
            980,
            1330
        ],
        "is_volume": false,
        "format": "TIFF"
    }
}
Writing org.json to: C:\Users\bruce\AppData\Local\Temp\tmpsyaiu1_q\formatted/org.json
python examples/get_iss_data.py  ==> 6.489300966262817 seconds

         _              __ _     _
        | |            / _(_)   | |
     ___| |_ __ _ _ __| |_ _ ___| |__
    / __| __/ _` | '__|  _| / __| '_  `
    \__ \ || (_| | |  | | | \__ \ | | |
    |___/\__\__,_|_|  |_| |_|___/_| |_|


Registering ...
For hyb: 0, Shift: [  3.118 -11.021], Error: 0.37367679340203525
For hyb: 1, Shift: [-2.22   2.874], Error: 0.427452955088995
For hyb: 2, Shift: [ 4.994  0.348], Error: 0.4128292497462391
For hyb: 3, Shift: [ 5.912  0.548], Error: 0.4278942160521561
starfish register  ==> 14.382418394088745 seconds

         _              __ _     _
        | |            / _(_)   | |
     ___| |_ __ _ _ __| |_ _ ___| |__
    / __| __/ _` | '__|  _| / __| '_  `
    \__ \ || (_| | |  | | | \__ \ | | |
    |___/\__\__,_|_|  |_| |_|___/_| |_|


Filtering ...
Reading data
Filtering image: 0...
Filtering image: 1...
Filtering image: 2...
Filtering image: 3...
Filtering image: 4...
Filtering image: 5...
Filtering image: 6...
Filtering image: 7...
Filtering image: 8...
Filtering image: 9...
Filtering image: 10...
Filtering image: 11...
Filtering image: 12...
Filtering image: 13...
Filtering image: 14...
Filtering image: 15...
Filtering dots ...
Writing results ...
starfish filter  ==> 56.3315110206604 seconds

         _              __ _     _
        | |            / _(_)   | |
     ___| |_ __ _ _ __| |_ _ ___| |__
    / __| __/ _` | '__|  _| / __| '_  `
    \__ \ || (_| | |  | | | \__ \ | | |
    |___/\__\__,_|_|  |_| |_|___/_| |_|


Traceback (most recent call last):
  File "C:\Users\bruce\projects\starfish\starfish\__main__.py", line 3, in <module>
    starfish()
  File "C:\Users\bruce\projects\starfish\starfish\starfish.py", line 103, in starfish
    args.starfish_command(args)
  File "C:\Users\bruce\projects\starfish\starfish\starfish.py", line 150, in detect_spots
    from .spots.gaussian import GaussianSpotDetector
  File "C:\Users\bruce\projects\starfish\starfish\spots\gaussian.py", line 6, in <module>
    from showit import image
  File "c:\users\bruce\appdata\local\programs\python\python36\lib\site-packages\showit\__init__.py", line 24, in <module>
    __version__ = get_version()
  File "c:\users\bruce\appdata\local\programs\python\python36\lib\site-packages\showit\__init__.py", line 20, in get_version
    raise ValueError("Cannot find VERSION file")
ValueError: Cannot find VERSION file
E
         _              __ _     _
        | |            / _(_)   | |
     ___| |_ __ _ _ __| |_ _ ___| |__
    / __| __/ _` | '__|  _| / __| '_  `
    \__ \ || (_| | |  | | | \__ \ | | |
    |___/\__\__,_|_|  |_| |_|___/_| |_|


         9 function calls in 0.000 seconds

   Ordered by: internal time

   ncalls  tottime  percall  cumtime  percall filename:lineno(function)
        1    0.000    0.000    0.000    0.000 c:\users\bruce\appdata\local\programs\python\python36\lib\pstats.py:75(init)
        1    0.000    0.000    0.000    0.000 c:\users\bruce\appdata\local\programs\python\python36\lib\pstats.py:65(__init__)
        1    0.000    0.000    0.000    0.000 c:\users\bruce\appdata\local\programs\python\python36\lib\pstats.py:94(load_stats)
        1    0.000    0.000    0.000    0.000 c:\users\bruce\appdata\local\programs\python\python36\lib\cProfile.py:50(create_stats)
        1    0.000    0.000    0.000    0.000 {built-in method builtins.isinstance}
        1    0.000    0.000    0.000    0.000 C:\Users\bruce\projects\starfish\starfish\starfish.py:257(noop)
        1    0.000    0.000    0.000    0.000 {built-in method builtins.len}
        1    0.000    0.000    0.000    0.000 {method 'disable' of '_lsprof.Profiler' objects}
        1    0.000    0.000    0.000    0.000 {built-in method builtins.hasattr}


.
======================================================================
ERROR: test_run_pipeline (test_iss_data.TestWithIssData)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "C:\Users\bruce\projects\starfish\tests\test_iss_data.py", line 98, in test_run_pipeline
    subprocess.check_call(cmdline)
  File "C:\Users\bruce\AppData\Local\Programs\Python\Python36\lib\subprocess.py", line 291, in check_call
    raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['coverage', 'run', '-p', '--source', 'starfish', '-m', 'starfish', 'detect_spots', 'C:\\Users\\bruce\\AppData\\Local\\Temp\\tmpsyaiu1_q\\filtered\\org.json', 'C:\\Users\\bruce\\AppData\\Local\\Temp\\tmpsyaiu1_q\\results', 'dots', '--min_sigma', '4', '--max_sigma', '6', '--num_sigma', '20', '--t', '0.01']' returned non-zero exit status 1.

----------------------------------------------------------------------
Ran 2 tests in 78.472s

FAILED (errors=1)

C:\Users\bruce\projects\starfish>

@ttung
Copy link
Collaborator Author

ttung commented Feb 8, 2018

Turns out travis only supports osx and linux. :(

@ttung
Copy link
Collaborator Author

ttung commented Dec 7, 2018

Turns out travis only supports osx and linux. :(

No longer true!

@neuromusic neuromusic added this to the 0.1.0 milestone Dec 19, 2018
@neuromusic neuromusic modified the milestones: 0.2.0, 0.1.0 Mar 13, 2019
@ttung ttung changed the title Verify Windows compatibility Verify native Windows compatibility Mar 18, 2019
@ttung ttung removed this from the 0.1.0 milestone Mar 18, 2019
@shanaxel42 shanaxel42 added this to the 0.2.0 milestone May 7, 2019
@shanaxel42 shanaxel42 added research issues/questions opened for research purposes and removed ux labels May 7, 2019
@ambrosejcarr
Copy link
Member

@dany-fu recorded the following path problem:

Hi, a Windows-specific error that we're encountering is regarding loading an `Experiment` from a json file. We can run the Starfish example notebooks just fine when it's pulling directly from aws for the test data, but when we try to load the json file after formatting our own images, the path gets warped:

`experiment = starfish.Experiment.from_json("C:/Users/path-to-file/experiment.json")`

`OSError: [Errno 22] Invalid argument: /C:/Users/path-to-file\\experiment.json` <-double backslash in front of the file

I feel like I've tried every combination of `os.join`, `\\`, `/`,  string literals

source link: https://spacetx.slack.com/archives/CCU5DN4DV/p1564162437019900

@ttung
Copy link
Collaborator Author

ttung commented Sep 11, 2019

This is basically done. We know that Windows works, but it's just slow. #1544 solves that.

@ttung ttung closed this as completed Sep 11, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
research issues/questions opened for research purposes
Projects
None yet
Development

No branches or pull requests

6 participants