Skip to content

Instantly share code, notes, and snippets.

@GabLeRoux
Created January 23, 2014 18:52
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save GabLeRoux/8584525 to your computer and use it in GitHub Desktop.
Save GabLeRoux/8584525 to your computer and use it in GitHub Desktop.
pythonrc with autocompletion! :)
import atexit
import os
import sys
try:
import readline
except ImportError:
print "Module readline not available."
else:
import rlcompleter
readline.parse_and_bind('tab:complete')
print(".pythonrc :: AutoCompletion Loaded")
# History
historyPath = os.path.expanduser("~/.pyhistory")
def save_history(historyPath=historyPath):
import readline
readline.write_history_file(historyPath)
print(".pythonrc :: history saved to " + historyPath)
if os.path.exists(historyPath):
readline.read_history_file(historyPath)
atexit.register(save_history)
# anything not deleted (sys and os) will remain in the interpreter session
del atexit, readline, rlcompleter, save_history, historyPath
@bhavinmoriya
Copy link

bhavinmoriya commented Mar 30, 2020 via email

@GabLeRoux
Copy link
Author

Well, there's probably something wrong with your system, I just tried on a fresh ubuntu:18.04 docker image on https://labs.play-with-docker.com/ (a bit different from an actual clean os, but still)

docker pull ubuntu:18.04
docker run --rm -it ubuntu:18.04 bash

apt-get update && apt-get install -y python3 vim
touch ~/.pythonrc
vim ~/.pythonrc
# paste content of file from blog post and write file

vim ~/.bashrc
# paste 'export PYTHONSTARTUP=~/.pythonrc' and write file
source ~/.bashrc
python3
Python 3.6.9 (default, Nov  7 2019, 10:44:02)
[GCC 8.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
.pythonrc :: AutoCompletion Loaded
.pythonrc :: history file: /root/.pyhistory
>>> print('example')
example
>>>
.pythonrc :: history saved to /root/.pyhistory
cat /root/.pyhistory
print('example')

@bhavinmoriya
Copy link

bhavinmoriya commented Mar 30, 2020 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment