Hi Sandy, Thank you so much for your reply.
So the problem I am facing is that I am trying to install protobuf with "no binary", so basically I am trying to do "pip install protobuf --no-binary protobuf" which would work in a requirements.txt, however our library is packaged with setup.py. From some googling I came across this solution <https://stackoverflow.com/questions/68436434/how-to-instruct-pip-to-install-a-requirement-with-no-binary-flag/68437088#68437088> which indicates that the workaround is to download the python tar.gz in the install_requires. (I can't add the --no-binary flag in the the install-requires) Does that make sense? Maybe to give a bit more background as to why I am even trying to install protobuf with the --no-binary flag, because there may be an alternative solution to my issue - When trying to build my environment using your suggestion of install_requires=['protobuf>=3.17.3'] , I get the following error, which seems to be caused by a conflict in numpy versions being used in the build of protobuf vs my local requirements of numpy. ValueError: numpy.ndarray size changed, may indicate binary incompatibility. Expected 88 from C header, got 80 from PyObject. According to this solution <https://github.com/scikit-learn-contrib/hdbscan/issues/457#issuecomment-773671043> which I found for the same error but using a different repo, the options are to - upgrade numpy to >=1.20 (which I can't because I have dependencies with numpy<1.20) or - to use "minimum supported numpy" version in pyproject.toml (which may be an option from the protobuf side?) - or to install protobuf with the --no-binary tag (which is the one I am attempting).. So I either need "minimum supported numpy" version in pyproject.toml of protobuf to be set, or to install protobuf with the --no-binary tag? Hope you can assist. Kind regards, Sonja On Wed, 3 Aug 2022 at 21:49, 'Sandy Zhang' via Protocol Buffers < [email protected]> wrote: > Hi Sonja, > > Based on the install_requires documentation > <https://packaging.python.org/en/latest/discussions/install-requires-vs-requirements/#install-requires>, > it seems that the specified project is installed by pip. Instead of > specifying the python tar.gz published on github, I think you should be > able to specify based on our pypi release > <https://pypi.org/project/protobuf/#history> instead. Can you try > install_requires=['protobuf>=3.17.3'] or equivalent for your version > requirements and let me know if that works instead? > > > On Wednesday, August 3, 2022 at 1:57:43 AM UTC-7 > [email protected] wrote: > >> I am trying to include the dependency to protobuf for python with no >> binary, and am packaging my library with a setup.py file. I am using the >> below code: >> >> from setuptools import setup, find_packages >> setup( name='your package`, >> version='0.1', >> packages=find_packages(), >> install_requires= >> [ 'protobuf@ >> https://github.com/protocolbuffers/protobuf/releases/download/v3.17.3/protobuf-python-3.17.3.tar.gz' >> ] >> ) >> >> However it gives the error message "no pyproject.toml or setup.py file >> found". i have tried various versions/releases of protobif with the same >> error. >> >> When I try to download it manually, I have to first go into the python >> folder before I can see the setup.py and I assume that extra step is what's >> causing the issue? >> >> Would you be able to assist how I can go about installing the package >> with no binary to avoid this issue? >> >> Kind regards, >> Sonja >> >> -- > You received this message because you are subscribed to a topic in the > Google Groups "Protocol Buffers" group. > To unsubscribe from this topic, visit > https://groups.google.com/d/topic/protobuf/cpTyexeJF1c/unsubscribe. > To unsubscribe from this group and all its topics, send an email to > [email protected]. > To view this discussion on the web visit > https://groups.google.com/d/msgid/protobuf/da3dc2d3-555b-4112-8ff0-6ec683acb663n%40googlegroups.com > <https://groups.google.com/d/msgid/protobuf/da3dc2d3-555b-4112-8ff0-6ec683acb663n%40googlegroups.com?utm_medium=email&utm_source=footer> > . > -- You received this message because you are subscribed to the Google Groups "Protocol Buffers" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/protobuf/CAC0TBBAk2brPg8hzRdMpUe4eT7Do%3DH9hLwNNJqCQmD9HztJaHQ%40mail.gmail.com.
