I have a developer on a windows machine running in...
# prefect-community
a
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.
Copy code
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
c
Hey Adam - what version of Prefect are you using?
a
0.6.7
🤯 2
😳 let me upgrade to 0.12.6 and get back to you
c
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
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?
c
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
We upgraded to 0.12.6
Am I understanding your question?
Oh you want me to try with 0.10.4 specifically?
c
yea, if you can
a
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:
Copy code
[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>
c
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
@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
c
excellent - thank you! We’ll look into it and let you know
a
Thank you!