Commit b2870d2a authored by Dom Sekotill's avatar Dom Sekotill
Browse files

Install pip packages to user space if not in venv

parent ceb50354
Loading
Loading
Loading
Loading
+5 −1
Original line number Diff line number Diff line
import os
import sys
from contextlib import suppress
from importlib import reload, util as _import_util
@@ -50,7 +51,10 @@ class MagicSpec:

	def create_module(self, _):
		from pip._internal import main
		if 0 != main(['install', self.package]):
		cmd = ['install', self.package]
		if not os.access(sys.prefix, os.W_OK):
			cmd.insert(1, '--user')
		if 0 != main(cmd):
			raise ImportError("Unable to install {}".format(self.package))
		self.spec = _import_util.find_spec(self.name)
		if hasattr(self.spec.loader, 'create_module'):