omz:forum

    • Register
    • Login
    • Search
    • Recent
    • Popular

    Welcome!

    This is the community forum for my apps Pythonista and Editorial.

    For individual support questions, you can also send an email. If you have a very short question or just want to say hello — I'm @olemoritz on Twitter.


    Time to update python to the latest version?

    Pythonista
    update
    7
    28
    19721
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • ?
      A Former User @JonB last edited by A Former User

      @JonB I used "PEP 553, Built-in breakpoint()" and "The insertion-order preservation nature of dict objects" in python 3.7. And I'm sure many people need other new features. And python 3.7 would be better than python 3.6 just like python 3.6 was better than 3.5. Python 2.7.15 is better than python 2.7.12. So why we kept using old versions for SEVERAL YEARS?

      1 Reply Last reply Reply Quote 0
      • ?
        A Former User @JonB last edited by

        @JonB The old modules maybe had many bugs because we can't make sure that we killed all bugs. So we need to update old mudules not just for the new feature. I met some bugs in chardet 2.1.1(2012), while the latest version is 3.0.4. 6 years now, and we are using the outdated modules.

        1 Reply Last reply Reply Quote 0
        • ?
          A Former User last edited by A Former User

          I think pythonista should update modules 0.5time/year at least.

          1 Reply Last reply Reply Quote 0
          • JonB
            JonB last edited by

            I guess I just don't see it. I can't think of any security issues that are really likely to be issues for the type of work the typical pythonista user is doing. Most people are not running servers exposed to the world.

            Yes, there are some new language features that are nice. What did people do before dict order was preserved? They did not rely on it, and it took a few extra lines of code . It is not like python was unuseful a year ago. It was mature and functional and most updates have been minor improvements.

            I can see if you are using other people's code that makes use of new features, it might be annoying.

            Chardet is pure python and can be updated via stash. Sure it is annoying, but once you do it you are set.

            ? 2 Replies Last reply Reply Quote 0
            • ?
              A Former User @JonB last edited by A Former User

              @JonB I installed chardet via stash. But when I checked version with code "chardet.__version__". It did not work.

              1 Reply Last reply Reply Quote 0
              • ?
                A Former User @JonB last edited by

                @JonB Just like the f-str in python 3.6. You could use others if we still used python 3.5. But if we had python 3.6, we can try new features and improve our code. Besides, I don't think python 3.7 is a small version. If it is, then the version should be python 3.6.x.

                1 Reply Last reply Reply Quote 0
                • JonB
                  JonB last edited by

                  You would need to force quit pythonista. Also you may need to check which site packages it was installed in.

                  ? 1 Reply Last reply Reply Quote 0
                  • ?
                    A Former User @JonB last edited by A Former User

                    @JonB I used the latest stash and ran it on python 3. I found the new chardet in site-packages-3. But it did not work with "chardet.__version__". (Pythonista had its own chardet already.)

                    1 Reply Last reply Reply Quote 0
                    • ?
                      A Former User last edited by

                      We wrote better code not just runnable code. Python 2 is dying in 2020. And we still use python 2 in 2020? Why don't you try python 3 now? We have a better version and we still use the outdated one. We don't run the code as a server on ipad. We don't run 10000 rows code on ipad. We can try the new features and enjoy the new version.

                      1 Reply Last reply Reply Quote 0
                      • JonB
                        JonB last edited by

                        >>> import chardet
                        >>> chardet.__file__
                        '/private/var/mobile/Containers/Shared/AppGroup/C534C622-2FDA-41F7-AE91-E3AAFE5FFC6B/Pythonista3/Documents/site-packages/chardet/__init__.py'
                        >>> chardet.__version__
                        '3.0.4'
                        

                        You might want to delete the chardet folder, and try install again. Be sure to force quit pythonista after.

                        Don't get me wrong... if there is a new version that continues to work on ios9.3.5/Ipad3, I'll use it. I just don't feel like there is no use to the app. even without any updates in the future, there is plenty to keep things interesting.

                        ? 1 Reply Last reply Reply Quote 1
                        • ?
                          A Former User @JonB last edited by

                          @JonB I'm using pythonista 3.2. And I can't delete the package installed in Pythonista by omz, since it looks like omz did not allow us to do it. When I reopen it, it restores the package.

                          1 Reply Last reply Reply Quote 0
                          • JonB
                            JonB last edited by

                            You can install the new package in site-packages or site-packages-3, those take precedence over pythonista pylib folder.

                            Pip in stash might have a -f to force install of a pythonista pre-installed module. There are some thread around about installing chardet, idna, and a few others.

                            ? 2 Replies Last reply Reply Quote 0
                            • ?
                              A Former User @JonB last edited by A Former User

                              @JonB Thx. But some modules like matplotlib 3.0 which are not pure python modules. So it is still a problem. I hope omz would update these modules and python soon. By the way asyncio had some bugs when the network is unstable.

                              1 Reply Last reply Reply Quote 0
                              • ?
                                A Former User @JonB last edited by A Former User

                                @JonB I installed chardet in site-package-3, but it seems it did not take precedence over the pre-installed version.

                                1 Reply Last reply Reply Quote 0
                                • JonB
                                  JonB last edited by

                                  Did you force quit pythonista?

                                  Try this:
                                  from stash:
                                  ls ~/Documents/site-packages-3/chardet

                                  next, in console:

                                  import sys, chardet
                                  del sys.modules['chardet']
                                  import chardet
                                  print(chardet.__file__)
                                  

                                  next:

                                  import sys
                                  print(sys.path)
                                  
                                  ? 1 Reply Last reply Reply Quote 0
                                  • ?
                                    A Former User @JonB last edited by

                                    @JonB How to set module path with code? Like
                                    sys.modules['chardet'] = 'site-package-3/chardet'

                                    1 Reply Last reply Reply Quote 0
                                    • JonB
                                      JonB last edited by

                                      please run the above code, and we will see if chardet was installed, and if not, we can get into why not. the sys path should already be set

                                      ? 1 Reply Last reply Reply Quote 0
                                      • ?
                                        A Former User @JonB last edited by

                                        @JonB I just del sys.modules[name], then I reinstall the modules using stash. Now it works.

                                        1 Reply Last reply Reply Quote 0
                                        • ?
                                          A Former User last edited by

                                          @omz Welcome back! Any plans about updating modules or python?

                                          1 Reply Last reply Reply Quote 0
                                          • ohjartat
                                            ohjartat last edited by

                                            Hello! Im having the same or a similar issue with requests/chardet/idna dependencies. I tried deleting chardet and restart the app, but my stash seems ”stuck” when I try to reinstall the package (or doing any other operation for that matter). All I get is ”No module named chardet”, even when I run pip install simplegist (as a simple, seemingly unrelated example?)

                                            Any ideas?

                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post
                                            Powered by NodeBB Forums | Contributors