a

    Adam Roderick

    2 years ago
    I have a developer on a windows machine running into an error when trying to deploy a pipeline. Looks like a path issue for windows.
    Step 19/22 : COPY C:\Users\myuser\AppData\Local\Temp\tmppldichwe\tmpksbpr1xh\pkt-pipeline-staging.flow /opt/prefect/flows/pkt-pipeline-staging.prefect
    COPY failed: stat /var/lib/docker/tmp/docker-builder941483285/C:UsersmyuserAppDataLocalTemptmppldichwetmpksbpr1xhpkt-pipeline-staging.flow: no such file or directory
    Looks like it is coming from
    flow.register()
    , because it happens after our Dockerfile steps are complete
    Chris White

    Chris White

    2 years ago
    Hey Adam - what version of Prefect are you using?
    a

    Adam Roderick

    2 years ago
    0.6.7
    😳 let me upgrade to 0.12.6 and get back to you
    Chris White

    Chris White

    2 years ago
    haha yea I was about to comment something along those lines - we’ve made a significant number of improvements, and many related to Windows functionality since then
    a

    Adam Roderick

    2 years ago
    An upgrade to 0.12.6 did not resolve the issue. Looks like a file path issue where python or docker doesn't recognize this as a windows path. 1) slashes get lost and 2) the path is treated as a relative path
    I confirmed this works in linux (WSL on Windows). But does not work in windows. Any ideas?
    Chris White

    Chris White

    2 years ago
    Hey @Adam Roderick - we’ve made some docker path changes for windows in the last few releases; any chance you could try out specifically Core version 0.10.4?
    a

    Adam Roderick

    2 years ago
    We upgraded to 0.12.6
    Am I understanding your question?
    Oh you want me to try with 0.10.4 specifically?
    Chris White

    Chris White

    2 years ago
    yea, if you can
    a

    Adam Roderick

    2 years ago
    Trying to install 0.10.4, getting
    ERROR: distributed 2.21.0 has requirement cloudpickle>=1.5.0, but you'll have cloudpickle 1.3.0 which is incompatible.
    Attempting to run any script using prefect then gives me
    pkg_resources.ContextualVersionConflict: (cloudpickle 1.3.0 (c:\dev\datateer\pkt-pipeline\venv\lib\site-packages), Requirement.parse('cloudpickle>=1.5.0'), {'distributed'})
    Seems like version requirements of the dependencies have moved on. So I installed distributed 1.26.1 and the version conflict went away. However, on creating the flow's storage, I see what looks like a docker error. Not sure how to interpret it:
    [2020-07-30 14:01:54] INFO - prefect.Docker | Building the flow's Docker storage...
    Traceback (most recent call last):
      File "c:\dev\datateer\pkt-pipeline\venv\lib\site-packages\docker\api\client.py", line 261, in _raise_for_status
        response.raise_for_status()
      File "c:\dev\datateer\pkt-pipeline\venv\lib\site-packages\requests\models.py", line 941, in raise_for_status
        raise HTTPError(http_error_msg, response=self)
    requests.exceptions.HTTPError: 500 Server Error: Internal Server Error for url: <http+docker://localnpipe/v1.40/build?t=136548492218.dkr.ecr.us-east-1.amazonaws.com%2Fpkt-pipeline-staging%3A2020-07-30t14-01-54-745473-00-00&q=False&nocache=False&rm=False&forcerm=True&pull=False&dockerfile=.%5Ctmpgqqnhoef%5CDockerfile>
    Chris White

    Chris White

    2 years ago
    Hey @Adam Roderick - would you mind opening an issue on GitHub with a reproducible example for us? Any info on your Windows environment would also be useful
    a

    Adam Roderick

    2 years ago
    @Chris White here you go https://github.com/PrefectHQ/prefect/issues/3066. Includes specifics of the windows environment and a small repo on github to reproduce the issue
    Chris White

    Chris White

    2 years ago
    excellent - thank you! We’ll look into it and let you know
    a

    Adam Roderick

    2 years ago
    Thank you!