-
Notifications
You must be signed in to change notification settings - Fork 573
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
1.17.1 introduces ModuleNotFoundError: No module named 'starters' #748
Comments
are you using pip to get 1.17.1? Is it linux? |
I failed to repro with the following: docker run --rm -it debian:11 ...and then in container: cd && \
apt-get update && \
apt-get install -y pip && \
pip install icloudpd==1.17.1 && \
icloud -h && \
icloudpd --version also works on |
I tried from Synology:
And from WSL:
When I check the contents of the
But in the container:
|
I did some more testing. On a Linux VM pip install breaks. But within an ubuntu:22.04 container it works. But I can repro using ubuntu:20.04 (same as host).
The ubuntu:22.04 container downloads The VM host (Python 3.8.10), ubuntu:20.04 (Python 3.8.10) and my Synology (Python 3.8.10) are running Python 3.8. |
More testing:
|
There are two questions actually: a) why manylinux_2_17_x86_64 was not picked for ubuntu:20.04 (and your host) -- IIUC it should b) why src distribution is not working (~original issue) Contextwe package icloudpd as a single binary without python dependency for consistent behavior and distribute that through different mechanisms: Github release page, pypi, npm, dockerhub, etc (the list will hopefully grow). The fallback for pypi is src distribution. manylinux is a standard pypi mechanism to match binaries to running environment. For binary distributions we use small scripts (py, js) to start process with actual binary. That was a work around a) permissions on the target b) quirks of the packager for binaries Fixing & TestingWe need to validate behavior through all distribution paths. There are no automated tests for that and using github action may be a way to go for testing. If not, manual validation can be done, but is tedious. |
I have the same problem as others, no longer able to run it natively on Synology. |
I am curious how did you measure performance and what were your findings comparing host python vs python in docker for icloudpd? IIUC processes running in docker are just regular linux processes, so no perf impact expected. container filesystem access in docker is special perf consideration, but icloudpd uses bounded volumes, so no perf impact either. Overall, I expect performance of icloudpd to be bound by internet speed, not CPU. |
TBH I haven't been able to benchmark the two, as since the authentication issues, I've been unable to run icloudpd natively on Synology - so it was only in my testing and setup of Docker icloudpd that I noticed a slowdown in syncing speed. |
closing as fixed |
Overview
I upgraded to 1.17.1 to fix #729 but now when running
icloud
I receive aModuleNotFoundError: No module named 'starters'
.Steps to Reproduce
icloud
Expected Behavior
No errors and
icloud
should display help.Actual Behavior
starters module error:
Context
This was broken in pull 726.
The text was updated successfully, but these errors were encountered: