Share your repls and programming experiences

← Back to all posts
Using Pip On Repl.it
tra38 (13)

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!

Comments
hotnewtop
JJJ2008 (2)

Doesn't work for me? Any help? It says module howdoi not found.

tra38 (13)

@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.

JJJ2008 (2)

@tra38 still doesn't work, but I found a different way

PaoloAmoroso (185)

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.

tra38 (13)

@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]")