Hi Dmitry, Thank you for taking the time to explain me everything in such detail :)
I am trying to do this because I have to document. In general, I am assuming that a Python thin client user would already have Python installed and be using it. So, I would not suggest adding any disclaimers regarding Python installation. The example works with python3 command :) -P On Thu, Sep 20, 2018 at 8:31 PM, Dmitry Melnichuk < dmitry.melnic...@nobitlost.com> wrote: > Prachi, > > I feel your struggle. It is easier for end user to perceive Python 2 and > Python 3 as different languages, not as versions of one language. They > usually installed alongside each other; their updates are handled > separately. On most systems they have their respective shell commands: > `python2` and `python3`. > > Shell command `python` can be viewed as an alias of either `python2` or > `python3`. I use an Arch Linux derivative, where `python` is `python3`. > Most other GNU/Linux OSes use `python` as an alias of `python2`. I am not > sure about MacOS. On Windows the latest Python distribution installed > overrule PATH environment variables, so it impossible to predict the > “default” Python version (2 or 3). > > Luckily, virtualenv was introduced to leverage all these issues. It is > able to handle multiple isolated Python environments, where the `python` > command is set upon the creation of the environment, while the > environment-specific package dependencies are handled transparently with > pip. > > But the use of pyignite should not be limited to virtualenv. There are > many cases when the use of virtualenv is discouraged or even impossible. > For example, when deploying Python app into an OS-level container or > similar isolating environment, virtualenv would be just a useless overhead. > There are also non-standard Python distributions (used mostly on Windows) > that do not support virtualenv. > > I am sorry, that users who are not proficient in Python can have so many > problems with following my documentation. But still it seems obvious for > me, that all the details of organizing user's own Python environment are > out of pyignite documentation's scope. The only thing I can suggest to > improve my documentation in this regard is putting a big bold foreword like > this: > > It is assumed in this document that you know how to install > and use Python 3 on your system. Please consult your OS manual pages > or documentations of your specific Python 3 distribution regarding > the details of organizing your Python 3 environment. The use of > virualenv for development with pyignite is highly recommended. > > But, frankly, I have not seen such disclaimers in the wild and not sure if > it would be useful. It is very vague and do not cover any of the potential > pitfalls. > > I am sorry for giving such a lengthy explanation here, though I've been > asked a very specific question. I understand you may not have time to > invest in learning virtualenv. If so, you did everything right, just use > `python3` command for launching examples: > > ``` > $ python3 get_and_put.py > ``` > > On 9/21/18 10:34 AM, Prachi Garg wrote: > >> Hi Dmitry, >> >> Sorry, I am not familiar with Python. >> >> So there are more issues... >> >> 1. The version on my mac remains 2.7.10 even though I tried to link to >> the new version. >> >> ~$ python --version >> Python 2.7.10 >> >> ~$ brew unlink python && brew link --overwrite python3 >> Unlinking /usr/local/Cellar/python/3.7.0. <http://3.7.0.>.. 25 symlinks >> removed >> Linking /usr/local/Cellar/python/3.7.0. <http://3.7.0.>.. 25 symlinks >> created >> >> ~$ python --version >> Python 2.7.10 >> >> 2. Then I tried to update /pip/, uninstall and re-install /pyignite/ >> >> ~$ pip install -U pip >> -bash: /Library/Frameworks/Python.framework/Versions/3.7/bin/pip: No >> such file or directory >> ~$ pip3 install -U pip >> Requirement already up-to-date: pip in /Library/Frameworks/Python.fra >> mework/Versions/3.7/lib/python3.7/site-packages (18.0) >> >> ~$ pip3 uninstall pyignite >> Uninstalling pyignite-0.3.0: >> Would remove: >> /Library/Frameworks/Python.framework/Versions/3.7/lib/pytho >> n3.7/site-packages/pyignite-0.3.0.dist-info/* >> /Library/Frameworks/Python.framework/Versions/3.7/lib/pytho >> n3.7/site-packages/pyignite/* >> Proceed (y/n)? y >> Successfully uninstalled pyignite-0.3.0 >> >> ~$ pip3 install pyignite >> Collecting pyignite >> Using cached https://files.pythonhosted.org >> /packages/f1/0f/5669cd63fb37fa2025110f61598450567d04a72c8cf5 >> b76bb0ca20c21734/pyignite-0.3.0-py3-none-any.whl >> Requirement already satisfied: attrs==18.1.0 in >> /Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages >> (from pyignite) (18.1.0) >> Requirement already satisfied: typing==3.6.4 in >> /Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages >> (from pyignite) (3.6.4) >> Installing collected packages: pyignite >> Successfully installed pyignite-0.3.0 >> >> >> How can I fix this? >> >> On Wed, Sep 19, 2018 at 6:43 PM, Dmitry Melnichuk < >> dmitry.melnic...@nobitlost.com <mailto:dmitry.melnic...@nobitlost.com>> >> wrote: >> >> Prachi, >> >> This line in your message >> >> > Requirement already satisfied: pyignite in >> > ./Downloads/ignite-python/modules/platforms/python (0.3.1) >> >> looks like you already did an installation of pyignite in this >> environment before (maybe with "pip install -e <location of >> setup.py>") from 'Downloads' folder, then delete or move downloaded >> copy, and than tried to install pyignite again, this time from PyPI >> ("pip install <package name>"). >> >> pip does not work this way. You should either undo the previous >> install ("pip uninstall <package name>"), use "--update" argument >> ("pip install --update <package_name>"), or even better − use >> virtualenv to create a disposable Python environment for every >> experiment. I provided a link to virtualenv manual in the README >> file and in docs, in the 'Basics → Testing' section. >> >> > Also, the installation instruction you have provided are for unix >> users. >> > What are the installation instructions for Windows users? >> >> I tried to be OS-agnostic in the docs. Please tell me, what part of >> my instructions does not work on Windows. >> >> On 9/20/18 7:32 AM, Prachi Garg wrote: >> >> Hi Dmitry, >> >> I tried to follow the instructions for the Python thin client >> installation [1]. >> >> ~$ pip install pyignite >> Requirement already satisfied: pyignite in >> ./Downloads/ignite-python/modules/platforms/python (0.3.1) >> Requirement already satisfied: typing==3.6.4 in >> /Library/Frameworks/Python.framework/Versions/3.7/lib/python >> 3.7/site-packages >> (from pyignite) (3.6.4) >> Requirement already satisfied: attrs==18.1.0 in >> /Library/Frameworks/Python.framework/Versions/3.7/lib/python >> 3.7/site-packages >> (from pyignite) (18.1.0) >> >> But when I try to run an example, I get an error. >> >> ~/Downloads/ignite-python/modules/platforms/python/examples$ >> python get_and_put.py >> Traceback (most recent call last): >> File "get_and_put.py", line 16, in <module> >> from pyignite import Client >> ImportError: No module named pyignite >> >> >> What else need to be done? I am documenting the instructions on >> readme.io <http://readme.io> <http://readme.io>, but I need to >> be able to run a few examples first. >> >> Also, the installation instruction you have provided are for >> unix users. What are the installation instructions for Windows >> users? >> >> [1] >> https://apache-ignite-binary-protocol-client.readthedocs.io/ >> en/latest/readme.html#installation >> <https://apache-ignite-binary-protocol-client.readthedocs.io >> /en/latest/readme.html#installation> >> >> >> >> >