I would add a disclaimer or a prerequisite step. That what other companies do if a user needs to do some basic installation steps. At least mention it.
-- Denis On Fri, Sep 21, 2018 at 3:04 PM Prachi Garg <pg...@gridgain.com> wrote: > 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> > >> > >> > >> > >> > > >