Repl.it allows you to easily load Python modules that are on PyPi, but I needed to write some code that relied on a Python module hosted on GitHub specifically (long story short: it's a temporary fork of another Python package, and I didn't feel it would be necessary to deploy it up onto PyPi). So I wound up doing some weird stuff to wind up using that Python package hosted on GitHub.
You can read my blog post to explain the weird stuff that I did: https://tra38.github.io/blog/using-pip-on-repl-it.html
Here is my final Repl (https://repl.it/@tra38/LittleNiftySubweb-Experimental\) where I successfully loaded up my Python package from GitHub.
I hope this experience will be useful for you if you wind up needing to do something like this!
Your post is 8 months old. I've joined Repl.it just a few weeks ago and I see
git is now available in the shell. I was wondering if you later got a chance to try
pip with GitHub.
@PaoloAmoroso Eventually, my code was merged into the master branch and the updated package deployed onto PyPy, so I didn't really need to maintain the "Experimental" repl, and just used https://repl.it/@tra38/LittleNiftySubweb exclusively.
Your post did inspire me to fork my existing repl and update it to use
git instead of a zip file. It works wonderfully. Here's my new repl that proves that I can indeed install package with
pip using a
git url. No more zip files for me!
The code snippet:
def set_up_user_directory(): import sys import site # this makes it work if not os.path.exists(site.USER_SITE): os.makedirs(site.USER_SITE) # since I'm installing with --user, packages # should be installed here, #so make sure it's on the path sys.path.insert(0, site.USER_SITE) def install(package): set_up_user_directory() import pip pip.main(['install', package, "--user", "--upgrade"]) install("git+https://github.com/tra38/[email protected]")
@JJJ2008 Hi, I just tried to run the repl and it works for me, but I do see an exception message:
WARNING: pip is being invoked by an old script wrapper. This will fail in a future version of pip. Please see https://github.com/pypa/pip/issues/5599 for advice on fixing the underlying issue. To avoid this problem you can invoke Python with '-m pip' instead of running pip directly. ERROR: Can not perform a '--user' install. User site-packages are not visible in this virtualenv. WARNING: You are using pip version 20.1.1; however, version 20.3.3 is available. You should consider upgrading via the '/opt/virtualenvs/python3/bin/python -m pip install --upgrade pip' command.
Looking at the GitHub issue link, it seems that sometimes it might raise the "module [module_name] not found" error, so I will try to fix that warning. For now, can you try the script to see if it is now usable? Thanks.