-
Notifications
You must be signed in to change notification settings - Fork 4.3k
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
[Bug]: Python 3.10 installing apache-beam==2.43.0
with multiprocess>=0.70.12
has incompatibility for dill
#24458
Comments
Just saw this: Lines 235 to 240 in 2e71061
Handing this issue over to the multiprocess team since I think it is more relevant there: uqfoundation/multiprocess#125 However, I do wonder what the plan is for apache-beam as more libraries start to depend on newer version of dill? |
Is dill used in coders, hence very high risk of trouble? Or is it primarily/only for pipeline serialization hence easy to match client/server? |
We are attempting to Vendor dill in #23870. |
Dill is used for pipeline serialization, not in coders. |
As far as Beam is concerned, Dill's version at startup and at runtime should match. |
cc: @ryanthompson591 |
This is actually still an issue for me since I am trying to develop a package for Python >=3.9 that has both |
The only solution I have found is to pin the setuptools.setup(
...,
install_requires=["apache-beam", "multiprocess==0.70.9", ...],
) But this would mean that the package is highly constrained with respect to pip install -e .
pip install --no-deps multiprocess>=0.70.11 |
Unfortunately right now you are dealing with two packages that have tight constraints, and I understand the inconvenience. We plan to -address the inconvenience on our side by vendoring dill, but that would take some time. I don't see a clean solution right now, but sounds like installing a newer version of multiprocessing, while ignoring its constrains, would work for you. You can ignore beam's constraint on dill, but if you do so, you need to make sure you install the same version of dill on the workers, or your pipelines will fail. |
I also have a similar issue. I'm trying to install HuggingFace Could it be an option to pin each Beam release with the latest version available of |
pinning latest version is possible, we do that for cloudpickle; but currently Beam is incompatible with the latest version of dill as far as I know. There is ongoing work in #23870 to vendor dill, which would remove the tight bound. |
Are there any updates on this? This is currently blocking me from updating some samples to include RunInference pipelines with PyTorch models. |
we plan to update to next version of dill before the next Beam release. I am now looking into the issue. |
#22893 (comment) - an update on dill is posted here. |
Is there any update on this issue? |
There is no update since last update since #22893 (comment), current course of action is to resolve adoption blockers for cloudpickle. |
has there been an update on this? |
No significant update, https://beam.apache.org/documentation/sdks/python-pipeline-dependencies/#pickling-and-managing-the-main-session mentions current workarounds - did any of those work for you @henrytomsf ? |
pip install -U multiprocess solved my problem |
What happened?
On Python 3.10 it is not possible to install
apache-beam==2.43.0
together withmultiprocess
. This is due to Python 3.10 only being supported bymultiprocess>=0.70.12
which requiresdill>=0.3.4
and is in conflict with the apache-beam requirement fordill>=0.3.1.1,<0.3.2
.These libraries are used together, for example, in the datasets library.
Is there a specific reason for the apache-beam version requirement of the
dill
package? If not, maybe this could be updated to fix the issue for Python 3.10? Although I have not tested it, the same issue might apply to Python 3.9 which is only supported bymultiprocess>=0.70.11
requiringdill>=0.3.3
.Issue Priority
Priority: 2
Issue Component
Component: dependencies
The text was updated successfully, but these errors were encountered: