Browse Source

Clean up develop mode

Steven Silvester 4 years ago
parent
commit
9e5a219afe
2 changed files with 15 additions and 7 deletions
  1. 14 4
      jupyterlab/dynamic_labextensions.py
  2. 1 3
      scripts/ci_script.sh

+ 14 - 4
jupyterlab/dynamic_labextensions.py

@@ -15,6 +15,7 @@ import tarfile
 import zipfile
 from os.path import basename, join as pjoin, normpath
 import subprocess
+import sys
 
 from urllib.parse import urlparse
 from urllib.request import urlretrieve
@@ -150,7 +151,7 @@ def develop_labextension_py(module, user=False, sys_prefix=False, overwrite=Fals
             logger.info("Installing %s -> %s" % (src, dest))
 
         if not os.path.exists(src):
-            build_labextension(src, logger=logger)
+            build_labextension(base_path, logger=logger)
 
         full_dest = develop_labextension(
             src, overwrite=overwrite, symlink=symlink,
@@ -328,11 +329,20 @@ def _get_labextension_metadata(module):
         m = None
 
     if not hasattr(m, '_jupyter_labextension_paths'):
-        if osp.exists(osp.abspath(module)):
+        mod_path = osp.abspath(module)
+        if osp.exists(mod_path):
+            # First see if the module is already installed
             from setuptools import find_packages
-            packages = find_packages(module)
+            packages = find_packages(mod_path)
+
+            # If not, temporarily adding the path
             if not packages:
-                raise ValueError('Could not find module %s' % module)
+                sys.path.insert(0, mod_path)
+                name = subprocess.check_output([sys.executable, 'setup.py', '--name'], cwd=mod_path)
+                packages = [name.decode('utf8').strip()]
+                sys.path.pop(0)
+            
+            # Import the first found package
             m = import_item(packages[0])
 
     if not hasattr(m, '_jupyter_labextension_paths'):

+ 1 - 3
scripts/ci_script.sh

@@ -183,9 +183,7 @@ if [[ $GROUP == usage ]]; then
     jupyter labextension uninstall @jupyterlab/mock-extension --no-build --debug
     jupyter labextension uninstall @jupyterlab/notebook-extension --no-build --debug
     # Test with a dynamic install
-    pip install -e ./extension
-    jupyter labextension build ./extension
-    jupyter labextension develop mock_package
+    jupyter labextension develop extension
     jupyter labextension list 1>labextensions 2>&1
     cat labextensions | grep "@jupyterlab/mock-extension.*enabled.*OK"
     jupyter labextension disable @jupyterlab/mock-extension --debug