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>
>>
>>
>>
>>
>

Reply via email to