diff --git a/setup.py b/setup.py index eb36d8e..5f958c3 100644 --- a/setup.py +++ b/setup.py @@ -3,7 +3,25 @@ from setuptools.command.develop import develop import logging +# Setupstools >=64 +try: + from setuptools.command.editable_wheel import editable_wheel +except ImportError: + editable_wheel_command = None +else: + from wheel.wheelfile import WheelFile + class editable_wheel_command(editable_wheel): + """Custom editable_wheel command which installs the .pth file to the + wheel file for editable installs.""" + def _create_wheel_file(self, bdist_wheel): + wheel_path = super()._create_wheel_file(bdist_wheel) + with WheelFile(wheel_path, 'a') as wheel: + wheel.write("labscript-suite.pth") + return wheel_path + + +# Setuptools <= 63: class develop_command(develop): """Custom develop command which installs the .pth file to site-packages for editable installs.""" @@ -21,4 +39,10 @@ def run(self): "local_scheme": os.getenv("SCM_LOCAL_SCHEME", "node-and-date"), } -setup(use_scm_version=VERSION_SCHEME, cmdclass={'develop': develop_command}) +setup( + use_scm_version=VERSION_SCHEME, + cmdclass={ + 'develop': develop_command, + 'editable_wheel': editable_wheel_command, + }, +)