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.
General bug report thread
-
I often find Pythonista crashes when I copy text from a web page directly into the editor. Is this a well known bug or should I provide examples?
-
sys.exit() does not put a \n after its output
- Put the following into an Empty Script:
import sys ; sys.exit()
- When run three time, it genereates the output:
EXIT (0)EXIT (0)EXIT (0)
- Instead of the output:
EXIT (0)\nEXIT (0)\nEXIT (0)\n
- Put the following into an Empty Script:
-
Sometimes, in the editor, when I write two equal signs in an if condition and quickly touch space, the last equal sign will be replaced by a whitespace. I don't know if anyone else have stumbled upon this bug, but it really bugs me (pardon the pun).
-
@Sebastian, yes, I am expecting the same behaviour. I thought it was me pressing spacebar instead of another = sign accidentally
-
This bug has been reported before - Windows style carriage returns can cause Pythonista to crash. The report said that happened when using the delete key. I have found that too. But also I have found the crash simply upon opening a script.
The interesting bit is that it was only a small section of code that caused the crash. Deleting a couple of lines on a PC avoided the crash.
If you want a copy of the file I can supply it as a zip archive.
-
Hi, we found a bug for input from external bluetooth keyboard.
We have a japanese layout bluetooth keyboard.
When use the keyboard for coding in Pythonista, the keyboard is recognized as US layout, can't enter some marks as printed including double-quote, brackets brabrabra.
We've checked another applications then they accept the characters as printed.I think this can be happened with a AZERTY layout keyboard. But I don't have it.
-
It is possible that your keyboard layout is set incorrectly. In the Settings app, go to General > Keyboard > Hardware Keyboard, and check the settings for the Japanese layout you're using. I don't know anything about Japanese, but I can set my hardware layout to "Kana", that may be what you're looking for.
If this didn't help, try pressing Cmd+Space until the right keyboard layout is selected.
-
@inoddy - Thank you! I was wondering what was causing me to crash when hitting backspace on a carraige return. I would have never guessed.
-
Two more things:
- When in the interactive console, tapping an autocomplete suggestion (that is not a callable) will always add an extra space after the name. This makes sense for assignments and most operators, but for attributes and function calls it will produce strange results, such as
something .attrib .do_stuff(arg1 , arg2 )
. I know it's just a minor style thing, but the code just looks wrong with the extra space. And it doesn't work the same as the completion in the editor does. - Large files can (and will) lock you out of the app. Accidentally opening one causes Pythonista to practically hang on the "loading file" screen, and although the app isn't considered as "crashed" or "hung up" by the system, no input is accepted anymore until the file is loaded. Quitting and restarting the app won't help either, as it will try to open the large file before displaying any UI. Would it be possible to add a warning before opening a file larger than X megabtyes, or a switch in the external Settings sheet for the app that disables opening the last file temporarily? The latter is common for apps with file management and viewing capabilities to prevent these kinds of lockouts.
- When in the interactive console, tapping an autocomplete suggestion (that is not a callable) will always add an extra space after the name. This makes sense for assignments and most operators, but for attributes and function calls it will produce strange results, such as
-
@dgelessus I know this isn't ideal, but for now, if you're "locked out", you could open Pythonista by entering
pythonista://
in Safari. This will skip the "reload last file" step. -
Thanks, that works perfectly! Now to clean up the C lexer cache files that caused this...
-
Yet another thing: when typing any kind of opening parenthesis inside a string or comment without "closing" it in the same line, the next line will be indented like e. g. with multiline dicts. For example:
dict = { # expected indentation "a": "b", "c": "d", "e": "f", } if char == "{": # curly brace inside string should be ignored # gets indented up to here # but should only be up to here
-
Pythonista crashes when I try to save any kind of image, no matter what size. I am using an iPad 4.
-
Coolius, can you provide an example?
-
@dgelessus Thank you to your keyboard setting advice. And sorry to late reply.
I miss understood, actually iOS doesn't accept inputting English with Japanese hardware keyboard layout.
This mean, in the hardware keyboard setting, no option to choose input ASCII character with Japanese keyboard layout.Note: With "Kana", it means inputting Japanese character, not ASCII.
-
sys.exitfunc
isn't called when Pythonista catches aSystemExit
, and theatexit
module doesn't work either. On the contrary,os._exit(status)
is not caught and will actually exit the app. -
@dgelessus mentioned it, but I'd like to confirm the whole hud_alert sending a constant KeyboardInterupt when you hide the cancel button. I don't know why it was never noted when I posted in July.
https://omz-forums.appspot.com/pythonista/post/5284607821873152#post-5284607821873152
-
I'm having weird behavior when using the
ui
module. I'll post an example of when it happens, though I think it can happen in other instances as well but I haven't narrowed it down.I have 2 unrelated scripts that both use the
ui
module and use the same names for delegate handlers forListDataSource
e.g. the name of the method fortableview_accessory_button_tapped
isfoobar
. I run one script (but don't call the delegate method) and then leave Pythonista. When I come back and run the second [unrelated] script and (e.g.) tap thedetail_button
in myTableViewCell
it calls the method of the OTHER script with the data of the CURRENT script (and outputs that result and/or throws an error, for obvious reasons).I think the key issue is Pythonista caching of code - when it sees a method name that it already knows (even if it wasn't called prior) it will call that method. Is this expected behavior and/or is there a workaround (other than renaming all my methods)?
-
Are you running these as scripts? Or do you import?
If importing, note that if you have already imported a module, it won't reimport unless you specifically
reload
the module.When you say you leave pythonista and come back, do you actually kill the app?
If you just task switch away, then come back within 15 minutes or so, generally the interpreter hasn't been cleared. If you see the large >>> splash screen, I think that means the interpreter has restarted, otherwise your old interpreter session is active(unless you set the setting to clear globals). You can also hold the clear button in the console screen, which lets you restart pythonista.Also, are you setting delegate handlers in the ui editor, or in the script?
If you have set a custom class in the ui editor, loading the pyui actually creates an instance of that custom class, so if you were sharing a pyui between two scripts...maybe you might get unexpected things happening.Are you sure that your second script defines the method before using it? You should be able to redefine a method and it will overwrite the existing definition..
It might help if you can post an example of two minimal scripts that show this problem, and steps to recreate.
-
@JonB It does seem to only happen when there is a pyui file although if 1 script has a pyui and one doesn't (no shared pyui) it still happens. I'm trying to make a minimal example that reproduces this.