PyEdit — Edit Text. Run Code. Have Fun. Author: © M. Lutz (http://learning-python.com), 2000-2017 License: Provided freely, but with no warranties of any kind. This program is open source and is yours to use and copy as you like for personal use. For quality and attribution purposes, any bulk redistributions must include in full and unaltered form this file, and file "UserGuide.html" and folders "docetc" and "icons" from the top level of this package. Fetch: From "http://learning-python.com/pyedit.html" download and unzip: - PyEdit.app.zip (Mac app) - PyEdit-64bit.zip or PyEdit-32bit.zip (Windows executable) - PyEdit.zip (Linux executable) - PyEdit-source.zip (source code) See Package Usage Basics below for more install details. Start: To launch the program, run the unzipped folder or its file: - PyEdit.app (Mac app) - PyEdit.exe (Windows executable) - PyEdit (Linux executable) - textEditor.py (source code) See Package Usage Basics below for more run details. Docs: Open UserGuide.html in a web browser for the main user guide. Select 'Help' in the GUI to view that document in any distribution. Configs: Edit textConfig.py to customize PyEdit's appearance and behavior. See that file's Unicode options to avoid prompts on Opens and Saves. Auto-saves: The __pyedit-autosaves__ folder contains recent emergency backup copies of text you changed but did not save before PyEdit closed. Tools: PyEdit is coded in Python 3.X, and uses tkinter/Tk for its GUI. Mac frozen apps are built with py2app; others use PyInstaller. Upgrades: To install a new version of PyEdit in the future, save and restore any customizations you've made in textConfig.py. Updates: Watch http://learning-python.com/post-release-updates.html for new-release announcements and additional usage pointers. Other: See "Recent Highlights" in UserGuide.html for version changes. See UserGuide.html or folder docetc/docimgs for GUI screenshots. ------------------------------------------------------------------------------ Package Usage Basics PyEdit is available as full source code, a Mac app, and executables for Windows and Linux. Source code is the ultimate in portability, but apps and executables integrate better with your computer's GUI, do not require any additional install steps, and are immune to future changes in the Python programming language they use. PyEdit also ships as a component of, and can be run standalone in, the PyMailGUI email client (from learning-python.com/pymailgui). The following sections give the fundamentals of each format's usage: - Mac OS X (macOS) App Package - Windows Executable Package - Linux Executable Package - Source-Code Package - PyMailGUI Source-Code Package ------------------------------------------------------------------------------ Mac OS X (macOS) App Package The Mac OS X app runs only on Mac systems, but requires no Python install and better supports the Mac user experience. To Install: Fetch file "PyEdit.app.zip", unzip it by a double-click (or other), and drag the resulting PyEdit.app to your /Applications folder in Finder to access it from Launchpad. You can also move PyEdit.app and create aliases to it anywhere else on your computer. To Run: Click on the unzipped "PyEdit.app" or its Launchpad entry to run. You can also associate text files to open in PyEdit when clicked, select PyEdit in a file's right-click menu, and drag-and drop file icons onto PyEdit to open files in the GUI quickly. Associate text files with PyEdit by a right-click + Open With or Get Info on the file. Open With's Other has an "Always" for this file, and Get Info has a "Change All" that allows you to apply the PyEdit association to all files of the same type (.xxx extension). You can also drag-and-drop any file onto PyEdit.app to open it in the program. This works for a PyEdit Alias too (e.g., on your desktop), and either launches PyEdit initially or opens the file in a new popup window if PyEdit is already running. File-type associations are convenient but not required. PyEdit may also be simply selected from a file's right-click Open With menu or opened by drag-and-drop to a desktop alias each time. If PyEdit is already running, single-clicking its Dock entry or double-clicking its app (real or alias) quickly opens a new empty edit window. File associations, Open With, and drag-and-drops all open a new popup window having the selected file's text. To quit PyEdit completely, use Quit PyEdit in its app (leftmost) menu, Quit in its Dock menu, or Quit in the Main Window. Files: Your UserGuide.html, textConfig.py, and __pyedit-autosaves__ are all located inside the unzipped app's folder, at path: PyEdit.app/Contents/Resources Navigate to this nested folder in Finder by a right-click on PyEdit.app and Show Package Contents (or use "ls" in Terminal). Versions: The Mac OS X app was built on OS X version 10.11 El Capitan, as a Mac universal binary. It has been verified to run on this as well as Mac OS X (a.k.a. macOS) 10.12 Sierra, and is expected to work on later OS X versions. Support for earlier versions of OS X remains to be verified. Known issues and workarounds: PyEdit runs well enough as is to be your go-to text editor, and can handle intense editing sessions without a glitch. Like all software, it has a handful of known issues, with workarounds covered here. On Mac, many of these may stem from the Tk version used to develop and build the app, and may be addressed in a future release; watch PyEdit's webpage for updates. The app was published as is because it works amazingly well anyhow; is the product of herculean tuning and validation efforts; uses the Tk recommended by python.org; and seems likely to sprout as many issues as it prunes with a new Tk. The source-code package with a later Tk may be a fallback option. Run-Code Python: When using this package, some programs, especially those that spawn other programs, may have issues if run by PyEdit's Run-Code Capture mode. Workaround: you can avoid most such issues by setting the path of a separately installed Python in your textConfig.py file. Emojis are replaced: Due to Tk toolkit limitations, non-BMP Unicode characters ("emojis") in file content are replaced both when displayed in the GUI and when saved to files, though PyEdit fully supports all other Unicode symbols and text. See the user guide's "About emojis" for details. Workaround: don't use emojis in files saved by PyEdit. Dock zombies: The Tk GUI toolkit used by this app has a flaw which leaves zombie entries in the Dock's menu for closed windows. This might be fixed by using a Tk later than 8.5, so watch for an update. Workaround: use other Mac UI techniques to locate open PyEdit windows (e.g., open Mission Control's view with 3-finger-swipe or control up/down). Run-Code scrolling speed: On Macs, output-text scrolling in Run Code's capture mode is smooth but slow; this may be an issue for programs that generate lots of printed output. Tk > 8.5 might improve this story (Python's IDLE has the same issue), so watch for updates. Workaround: for this release, such programs can print to files, or be run from a terminal. Desktop switches on close: Strangely, your display may switch to an irrelevant desktop when the last PyEdit window in the current desktop is closed. This is a Tk bug with no fix at the Python level and no workaround (short of Mission Control), but a Tk later than 8.5 may help; again, watch for updates at PyEdit's home page. ------------------------------------------------------------------------------ Windows Executable Package The Windows executables run only on Windows systems, but require no Python install and better support the Windows user interface. To install: Fetch file "PyEdit-64bit.zip" or "PyEdit-32bit.zip" and unzip it on your computer (see Versions below for the difference). Copy the unzipped folder to C:\Program Files or elsewhere to save it. Make Desktop shortcuts to the unzipped folder's executable (per the next section) for quick access as desired. To Run: Click on the unzipped folder's "PyEdit.exe" to run. You can also associate text files to open in PyEdit when clicked, and drag-and drop file icons onto PyEdit to open them in the GUI. Associate text files with PyEdit by right-click + Open With on the file, or Control Panel's Defaults. Mark the association as "always" to open a file in PyEdit by one click. You can also drag-and-drop any file onto PyEdit.exe to open it. This works for a PyEdit shortcut too (e.g., on your desktop), and always opens the file in a new PyEdit session. Drag-and-drop to a desktop shortcut is generally as fast as right-click menus. Files: Your UserGuide.html, textConfig.py, and __pyedit-autosaves__ are all located in the same folder as the executable (the folder created by unzipping the download). Versions: The Windows executable comes in both 64- and 32-bit forms, as denoted by its zipfile names. The former works only on 64-bit systems; the latter works more broadly but may run slower on 64-bit systems. The 64-bit executable was built on Windows 7, and the 32-bit version on Windows 8, but both have been verified to run on Windows 7, 8, and 10. Known issues and workarounds: PyEdit runs well enough as is to be your go-to text editor, and can handle intense editing sessions without a glitch. Like all software, it has a handful of known issues, with workarounds covered here. Startup speed: Startups for executables in this package may be briefly delayed, due to PyInstaller folder extracts. Workaround: use the source-code package if this is problematic, especially on slower machines. Run-Code Python: When using this package, some programs, especially those that spawn other programs, may have issues if run by PyEdit's Run-Code Capture mode. Workaround: you can avoid most such issues by setting the path of a separately installed Python in your textConfig.py file. Emojis are replaced: Due to Tk toolkit limitations, non-BMP Unicode characters ("emojis") in file content are replaced both when displayed in the GUI and when saved to files, though PyEdit fully supports all other Unicode symbols and text. See the user guide's "About emojis" for details. Workaround: don't use emojis in files saved by PyEdit. ------------------------------------------------------------------------------ Linux Executable Package The Linux executable runs only on Linux systems, but requires no Python install and may better support the Linux user interface. To install: Fetch file "PyEdit.zip" and unzip it on your computer. Copy the unzipped folder to your home, desktop, or other folder to make it easy to access, and make desktop shortcuts to the executable as desired. To Run: Click on the unzipped folder's "PyEdit" to run, and associate it with text files per your platform's protocols. For Ubuntu, see: https://duckduckgo.com/?q=associate+program+with+file+ubuntu. Files: Your UserGuide.html, textConfig.py, and __pyedit-autosaves__ are all located in the same folder as the executable (the folder created by unzipping the download). Versions: The sole Linux executable was built on Ubuntu Linux 16.04, on a 64-bit system. It is known to work on this and other versions of Ubuntu and is expected to work on some other distributions of Linux, but this is to be verified. If it fails on your system, use the source-code PyEdit package. Known issues and workarounds: PyEdit runs well enough as is to be your go-to text editor, and can handle intense editing sessions without a glitch. Like all software, it has a handful of known issues, with workarounds covered here. Startup speed: Startups for executables in this package may be briefly delayed, due to PyInstaller folder extracts. Workaround: use the source-code package if this is problematic, especially on slower machines. Run-Code Python: When using this package, some programs, especially those that spawn other programs, may have issues if run by PyEdit's Run-Code Capture mode. Workaround: you can avoid most such issues by setting the path of a separately installed Python in your textConfig.py file. Emojis are replaced: Due to Tk toolkit limitations, non-BMP Unicode characters ("emojis") in file content are replaced both when displayed in the GUI and when saved to files, though PyEdit fully supports all other Unicode symbols and text. See the user guide's "About emojis" for details. Workaround: don't use emojis in files saved by PyEdit. ------------------------------------------------------------------------------ Source-Code Package The source-code version of PyEdit runs on all flavors of Mac, Windows, and Linux, but requires a separately installed Python. To Install: Fetch file "PyEdit-source.zip" and unzip it on your computer. Also fetch and install a usable Python 3.X if one is not already present. On Mac and Linux, also install the tkinter/Tk toolkit if needed. See the user guide's "Using the Program" for details. To Run: Run "textEditor.py" in the unzipped folder to launch the program, using any Python program-launching technique on your platform: Windows icon clicks, IDLE, command lines, Mac Python Launcher, and drag-and-drop where supported. You can also run the file textEditor.py from within PyEdit itself, once PyEdit is started. The source-code package also includes a Windows "pyedit.bat" file that launches PyEdit, and can be associated to automatically open text files quickly on clicks. This works on Windows only; get an app or executable to associate PyEdit with text files on Mac or Linux, and avoid pyedit.bat's initial popup on Windows. Files: Your UserGuide.html, textConfig.py, and __pyedit-autosaves__ are all located in the same folder as the main scripts' file (the folder created by unzipping the download). Versions: Source code is platform-neutral and is not dependent on the version of your operating system. This package runs on all versions of Mac OS X, Windows, and Linux in common use today. The source-code package does, however, require and assume a separately installed Python on your computer: download one for your platform from www.python.org/downloads if Python is not already installed. PyEdit's source code has been verified to run on all Python 3.X through 3.5, and has no third-party install requirements. Later Python versions are expected to work too, but 3.5 is the latest version verified. Known issues and workarounds: PyEdit runs well enough as is to be your go-to text editor, and can handle intense editing sessions without a glitch. Like all software, it has a handful of known issues, with workarounds covered here. Run-Code Python: When using this package, PyEdit's Run-Code Capture mode by default runs your code with the same version of Python used to run PyEdit. This may be exactly what you want, but you also may need to test some programs with a different Python version. Workaround: to run your code with a different version, set the path of another separately installed Python in textConfig.py. Emojis are replaced: Due to Tk toolkit limitations, non-BMP Unicode characters ("emojis") in file content are replaced both when displayed in the GUI and when saved to files, though PyEdit fully supports all other Unicode symbols and text. See the user guide's "About emojis" for details. Workaround: don't use emojis in files saved by PyEdit. Other Mac-specific issues: On Mac OS X, Tk 8.5, the version currently recommended by python.org, has known issues, including zombie Dock menu entries for closed windows (see the app package notes above). Workaround: if possible, install and use a Python that can link to and use a later Tk. Python.org's Mac Python installer cannot (even as of late 2016's 3.6), though the Homebrew package installer may. ------------------------------------------------------------------------------ PyMailGUI Source-Code Package (embedded PyEdit) Fetch this package at "http://learning-python.com/pymailgui", and start its embedded PyEdit in standalone mode by running its file "Launch_PyEdit.pyw" using any Python source-code launch technique. This package also includes a "pyedit.bat" file that runs PyEdit, and can be associated to open text files automatically on Windows. Some frozen PyMailGUI packages (including the Mac app) may also support running PyEdit standalone, because they embed its package in source-code form. See PyMailGUI's README.txt for more details. Known issues: As a deliberate policy, PyEdit's Run-Code Capture mode is disabled when PyEdit is used as an embedded component in all PyMailGUIs, including its source-code package. This is in part a security measure (code and email don't mix). See PyMailGUI for details, and run PyEdit standalone to employ its Run-Code Capture mode. Embedded PyEdits also share the known issues (and workarounds) of others listed above, including emoji replacements and Dock zombies. See the source-code package's notes for more details. ------------------------------------------------------------------------------ [end]