Skip to content

Commit 292bada

Browse files
committed
update pip and importer to support differentiating dependencies
-if our dependencies require a newer version the importer will attempt to upgrade to newer dependency -due to pip uninstall cmd crash, may need to run the project twice to install properly
1 parent 6e16091 commit 292bada

File tree

2 files changed

+13
-3
lines changed

2 files changed

+13
-3
lines changed

Content/Scripts/upymodule_importer.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ def parseJson(packagePath):
2727
version = pythonModules[module]
2828

2929
ue.log(module + " " + version + " installed? " + str(pip.isInstalled(module)))
30-
if not pip.isInstalled(module):
30+
if not pip.isInstalled(module, version):
3131
ue.log('Dependency not installed, fetching via pip...')
3232
pip.install(module + '==' + version)
3333

Content/Scripts/upypip.py

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import upycmd as cmd
22
import sys
33
from threading import Thread
4+
from distutils.version import LooseVersion
45

56

67
class PipInstall:
@@ -32,11 +33,20 @@ def listDict(self, verbose=True):
3233
PipInstall.modules = resultDict
3334
return resultDict
3435

35-
def isInstalled(self, module):
36+
def isDesiredVersionSufficient(self, desired, current):
37+
return LooseVersion(desired) <= LooseVersion(current)
38+
39+
def isInstalled(self, module, desiredVersion=None):
3640
if PipInstall.modules == None:
3741
PipInstall.modules = self.listDict(False)
3842
if module in PipInstall.modules:
39-
return True
43+
#did we specify a version? ensure we've installed that version at least
44+
if desiredVersion:
45+
#print('current version: ' + str(PipInstall.modules[module]))
46+
#print('desired version: ' + str(desiredVersion))
47+
return self.isDesiredVersionSufficient(desiredVersion, PipInstall.modules[module])
48+
else:
49+
return True
4050
else:
4151
return False
4252

0 commit comments

Comments
 (0)