Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

tox4: editable installs do not work (deps) #1945

Closed
jugmac00 opened this issue Mar 2, 2021 · 5 comments
Closed

tox4: editable installs do not work (deps) #1945

jugmac00 opened this issue Mar 2, 2021 · 5 comments
Labels
bug:normal affects many people or has quite an impact
Milestone

Comments

@jugmac00
Copy link
Member

jugmac00 commented Mar 2, 2021

repo
https://github.com/plone/plone.autoinclude

tox3 works

This should be the problem:

deps =
    -e .
❯ tox4 -rvv -e py38-unit
ROOT: 153 D setup logging to DEBUG on pid 31817 [tox/report.py:211]
ROOT: 157 W remove tox env folder /home/jugmac00/All/output_plone/plone/plone.autoinclude/.tox/4/py38-unit [tox/tox_env/api.py:202]
ROOT: 192 I find interpreter for spec PythonSpec(implementation=CPython, major=3, minor=8) [virtualenv/discovery/builtin.py:62]
ROOT: 192 I proposed PythonInfo(spec=CPython3.6.9.final.0-64, exe=/usr/bin/python3, platform=linux, version='3.6.9 (default, Jan 26 2021, 15:33:00) \n[GCC 8.4.0]', encoding_fs_io=utf-8-UTF-8) [virtualenv/discovery/builtin.py:69]
ROOT: 193 D discover PATH[0]=/home/jugmac00/.cargo/bin [virtualenv/discovery/builtin.py:114]
ROOT: 193 D filesystem is case-sensitive [virtualenv/info.py:28]
ROOT: 194 D discover PATH[1]=/home/jugmac00/.local/bin [virtualenv/discovery/builtin.py:114]
ROOT: 194 D discover PATH[2]=/home/jugmac00/bin [virtualenv/discovery/builtin.py:114]
ROOT: 194 D discover PATH[3]=/usr/local/sbin [virtualenv/discovery/builtin.py:114]
ROOT: 194 D discover PATH[4]=/usr/local/bin [virtualenv/discovery/builtin.py:114]
ROOT: 194 D discover PATH[5]=/usr/sbin [virtualenv/discovery/builtin.py:114]
ROOT: 194 D discover PATH[6]=/usr/bin [virtualenv/discovery/builtin.py:114]
ROOT: 195 D Attempting to acquire lock 140589030049664 on /home/jugmac00/.local/share/virtualenv/py_info/1/df0893f56f349688326838aaeea0de204df53a132722cbd565e54b24a8fec5f6.lock [filelock.py:270]
ROOT: 195 D Lock 140589030049664 acquired on /home/jugmac00/.local/share/virtualenv/py_info/1/df0893f56f349688326838aaeea0de204df53a132722cbd565e54b24a8fec5f6.lock [filelock.py:274]
ROOT: 195 D got python info of /usr/bin/python3.8 from /home/jugmac00/.local/share/virtualenv/py_info/1/df0893f56f349688326838aaeea0de204df53a132722cbd565e54b24a8fec5f6.json [virtualenv/app_data/via_disk_folder.py:135]
ROOT: 195 D Attempting to release lock 140589030049664 on /home/jugmac00/.local/share/virtualenv/py_info/1/df0893f56f349688326838aaeea0de204df53a132722cbd565e54b24a8fec5f6.lock [filelock.py:315]
ROOT: 195 D Lock 140589030049664 released on /home/jugmac00/.local/share/virtualenv/py_info/1/df0893f56f349688326838aaeea0de204df53a132722cbd565e54b24a8fec5f6.lock [filelock.py:318]
ROOT: 195 I proposed PathPythonInfo(spec=CPython3.8.8.final.0-64, exe=/usr/bin/python3.8, platform=linux, version='3.8.8 (default, Feb 20 2021, 21:09:14) \n[GCC 7.5.0]', encoding_fs_io=utf-8-utf-8) [virtualenv/discovery/builtin.py:69]
ROOT: 196 D accepted PathPythonInfo(spec=CPython3.8.8.final.0-64, exe=/usr/bin/python3.8, platform=linux, version='3.8.8 (default, Feb 20 2021, 21:09:14) \n[GCC 7.5.0]', encoding_fs_io=utf-8-utf-8) [virtualenv/discovery/builtin.py:71]
ROOT: 220 I create virtual environment via CPython3Posix(dest=/home/jugmac00/All/output_plone/plone/plone.autoinclude/.tox/4/py38-unit, clear=True, no_vcs_ignore=False, global=False) [virtualenv/run/session.py:52]
ROOT: 220 D delete /home/jugmac00/All/output_plone/plone/plone.autoinclude/.tox/4/py38-unit [virtualenv/create/creator.py:169]
ROOT: 220 D create folder /home/jugmac00/All/output_plone/plone/plone.autoinclude/.tox/4/py38-unit/bin [virtualenv/util/path/_sync.py:25]
ROOT: 220 D create folder /home/jugmac00/All/output_plone/plone/plone.autoinclude/.tox/4/py38-unit/lib/python3.8/site-packages [virtualenv/util/path/_sync.py:25]
ROOT: 221 D write /home/jugmac00/All/output_plone/plone/plone.autoinclude/.tox/4/py38-unit/pyvenv.cfg [virtualenv/create/pyenv_cfg.py:34]
ROOT: 221 D 	home = /usr [virtualenv/create/pyenv_cfg.py:38]
ROOT: 221 D 	implementation = CPython [virtualenv/create/pyenv_cfg.py:38]
ROOT: 221 D 	version_info = 3.8.8.final.0 [virtualenv/create/pyenv_cfg.py:38]
ROOT: 221 D 	virtualenv = 20.4.2 [virtualenv/create/pyenv_cfg.py:38]
ROOT: 221 D 	include-system-site-packages = false [virtualenv/create/pyenv_cfg.py:38]
ROOT: 221 D 	base-prefix = /usr [virtualenv/create/pyenv_cfg.py:38]
ROOT: 221 D 	base-exec-prefix = /usr [virtualenv/create/pyenv_cfg.py:38]
ROOT: 221 D 	base-executable = /usr/bin/python3.8 [virtualenv/create/pyenv_cfg.py:38]
ROOT: 221 D symlink /usr/bin/python3.8 to /home/jugmac00/All/output_plone/plone/plone.autoinclude/.tox/4/py38-unit/bin/python [virtualenv/util/path/_sync.py:44]
ROOT: 222 D create virtualenv import hook file /home/jugmac00/All/output_plone/plone/plone.autoinclude/.tox/4/py38-unit/lib/python3.8/site-packages/_virtualenv.pth [virtualenv/create/via_global_ref/api.py:95]
ROOT: 222 D create /home/jugmac00/All/output_plone/plone/plone.autoinclude/.tox/4/py38-unit/lib/python3.8/site-packages/_virtualenv.py [virtualenv/create/via_global_ref/api.py:98]
ROOT: 222 D ============================== target debug ============================== [virtualenv/run/session.py:54]
ROOT: 222 D debug via /home/jugmac00/All/output_plone/plone/plone.autoinclude/.tox/4/py38-unit/bin/python /home/jugmac00/.local/lib/python3.6/site-packages/virtualenv/create/debug.py [virtualenv/create/creator.py:224]
ROOT: 222 D {
  "sys": {
    "executable": "/home/jugmac00/All/output_plone/plone/plone.autoinclude/.tox/4/py38-unit/bin/python",
    "_base_executable": "/home/jugmac00/All/output_plone/plone/plone.autoinclude/.tox/4/py38-unit/bin/python",
    "prefix": "/home/jugmac00/All/output_plone/plone/plone.autoinclude/.tox/4/py38-unit",
    "base_prefix": "/usr",
    "real_prefix": null,
    "exec_prefix": "/home/jugmac00/All/output_plone/plone/plone.autoinclude/.tox/4/py38-unit",
    "base_exec_prefix": "/usr",
    "path": [
      "/usr/lib/python38.zip",
      "/usr/lib/python3.8",
      "/usr/lib/python3.8/lib-dynload",
      "/home/jugmac00/All/output_plone/plone/plone.autoinclude/.tox/4/py38-unit/lib/python3.8/site-packages"
    ],
    "meta_path": [
      "<class '_virtualenv._Finder'>",
      "<class '_frozen_importlib.BuiltinImporter'>",
      "<class '_frozen_importlib.FrozenImporter'>",
      "<class '_frozen_importlib_external.PathFinder'>"
    ],
    "fs_encoding": "utf-8",
    "io_encoding": "utf-8"
  },
  "version": "3.8.8 (default, Feb 20 2021, 21:09:14) \n[GCC 7.5.0]",
  "makefile_filename": "/usr/lib/python3.8/config-3.8-x86_64-linux-gnu/Makefile",
  "os": "<module 'os' from '/usr/lib/python3.8/os.py'>",
  "site": "<module 'site' from '/usr/lib/python3.8/site.py'>",
  "datetime": "<module 'datetime' from '/usr/lib/python3.8/datetime.py'>",
  "math": "<module 'math' (built-in)>",
  "json": "<module 'json' from '/usr/lib/python3.8/json/__init__.py'>"
} [virtualenv/run/session.py:55]
ROOT: 252 I add seed packages via FromAppData(download=False, pip=bundle, setuptools=bundle, wheel=bundle, via=copy, app_data_dir=/home/jugmac00/.local/share/virtualenv) [virtualenv/run/session.py:59]
ROOT: 254 D got embed update of distribution wheel from /home/jugmac00/.local/share/virtualenv/wheel/3.8/embed/1/wheel.json [virtualenv/app_data/via_disk_folder.py:135]
ROOT: 255 D got embed update of distribution pip from /home/jugmac00/.local/share/virtualenv/wheel/3.8/embed/1/pip.json [virtualenv/app_data/via_disk_folder.py:135]
ROOT: 258 D got embed update of distribution setuptools from /home/jugmac00/.local/share/virtualenv/wheel/3.8/embed/1/setuptools.json [virtualenv/app_data/via_disk_folder.py:135]
ROOT: 259 D using periodically updated wheel /home/jugmac00/.local/share/virtualenv/wheel/house/setuptools-53.0.0-py3-none-any.whl [virtualenv/seed/wheels/periodic_update.py:53]
ROOT: 259 D install wheel from wheel /home/jugmac00/.local/lib/python3.6/site-packages/virtualenv/seed/wheels/embed/wheel-0.36.2-py2.py3-none-any.whl via CopyPipInstall [virtualenv/seed/embed/via_app_data/via_app_data.py:49]
ROOT: 259 D install pip from wheel /home/jugmac00/.local/lib/python3.6/site-packages/virtualenv/seed/wheels/embed/pip-21.0.1-py3-none-any.whl via CopyPipInstall [virtualenv/seed/embed/via_app_data/via_app_data.py:49]
ROOT: 259 D Attempting to acquire lock 140589002142608 on /home/jugmac00/.local/share/virtualenv/wheel/3.8/image/1/CopyPipInstall/wheel-0.36.2-py2.py3-none-any.lock [filelock.py:270]
ROOT: 260 D install setuptools from wheel /home/jugmac00/.local/share/virtualenv/wheel/house/setuptools-53.0.0-py3-none-any.whl via CopyPipInstall [virtualenv/seed/embed/via_app_data/via_app_data.py:49]
ROOT: 260 D Attempting to acquire lock 140589002144624 on /home/jugmac00/.local/share/virtualenv/wheel/3.8/image/1/CopyPipInstall/pip-21.0.1-py3-none-any.lock [filelock.py:270]
ROOT: 260 D Lock 140589002142608 acquired on /home/jugmac00/.local/share/virtualenv/wheel/3.8/image/1/CopyPipInstall/wheel-0.36.2-py2.py3-none-any.lock [filelock.py:274]
ROOT: 260 D Lock 140589002144624 acquired on /home/jugmac00/.local/share/virtualenv/wheel/3.8/image/1/CopyPipInstall/pip-21.0.1-py3-none-any.lock [filelock.py:274]
ROOT: 260 D Attempting to acquire lock 140589002144792 on /home/jugmac00/.local/share/virtualenv/wheel/3.8/image/1/CopyPipInstall/setuptools-53.0.0-py3-none-any.lock [filelock.py:270]
ROOT: 260 D Lock 140589002144792 acquired on /home/jugmac00/.local/share/virtualenv/wheel/3.8/image/1/CopyPipInstall/setuptools-53.0.0-py3-none-any.lock [filelock.py:274]
ROOT: 261 D Attempting to release lock 140589002144624 on /home/jugmac00/.local/share/virtualenv/wheel/3.8/image/1/CopyPipInstall/pip-21.0.1-py3-none-any.lock [filelock.py:315]
ROOT: 261 D Attempting to release lock 140589002142608 on /home/jugmac00/.local/share/virtualenv/wheel/3.8/image/1/CopyPipInstall/wheel-0.36.2-py2.py3-none-any.lock [filelock.py:315]
ROOT: 261 D Lock 140589002144624 released on /home/jugmac00/.local/share/virtualenv/wheel/3.8/image/1/CopyPipInstall/pip-21.0.1-py3-none-any.lock [filelock.py:318]
ROOT: 261 D Attempting to release lock 140589002144792 on /home/jugmac00/.local/share/virtualenv/wheel/3.8/image/1/CopyPipInstall/setuptools-53.0.0-py3-none-any.lock [filelock.py:315]
ROOT: 261 D Lock 140589002142608 released on /home/jugmac00/.local/share/virtualenv/wheel/3.8/image/1/CopyPipInstall/wheel-0.36.2-py2.py3-none-any.lock [filelock.py:318]
ROOT: 261 D Lock 140589002144792 released on /home/jugmac00/.local/share/virtualenv/wheel/3.8/image/1/CopyPipInstall/setuptools-53.0.0-py3-none-any.lock [filelock.py:318]
ROOT: 261 D copy /home/jugmac00/.local/share/virtualenv/wheel/3.8/image/1/CopyPipInstall/pip-21.0.1-py3-none-any/pip-21.0.1.virtualenv to /home/jugmac00/All/output_plone/plone/plone.autoinclude/.tox/4/py38-unit/lib/python3.8/site-packages/pip-21.0.1.virtualenv [virtualenv/util/path/_sync.py:52]
ROOT: 261 D copy directory /home/jugmac00/.local/share/virtualenv/wheel/3.8/image/1/CopyPipInstall/setuptools-53.0.0-py3-none-any/pkg_resources to /home/jugmac00/All/output_plone/plone/plone.autoinclude/.tox/4/py38-unit/lib/python3.8/site-packages/pkg_resources [virtualenv/util/path/_sync.py:52]
ROOT: 261 D copy /home/jugmac00/.local/share/virtualenv/wheel/3.8/image/1/CopyPipInstall/wheel-0.36.2-py2.py3-none-any/wheel-0.36.2.virtualenv to /home/jugmac00/All/output_plone/plone/plone.autoinclude/.tox/4/py38-unit/lib/python3.8/site-packages/wheel-0.36.2.virtualenv [virtualenv/util/path/_sync.py:52]
ROOT: 262 D copy directory /home/jugmac00/.local/share/virtualenv/wheel/3.8/image/1/CopyPipInstall/pip-21.0.1-py3-none-any/pip-21.0.1.dist-info to /home/jugmac00/All/output_plone/plone/plone.autoinclude/.tox/4/py38-unit/lib/python3.8/site-packages/pip-21.0.1.dist-info [virtualenv/util/path/_sync.py:52]
ROOT: 262 D copy directory /home/jugmac00/.local/share/virtualenv/wheel/3.8/image/1/CopyPipInstall/wheel-0.36.2-py2.py3-none-any/wheel-0.36.2.dist-info to /home/jugmac00/All/output_plone/plone/plone.autoinclude/.tox/4/py38-unit/lib/python3.8/site-packages/wheel-0.36.2.dist-info [virtualenv/util/path/_sync.py:52]
ROOT: 265 D copy directory /home/jugmac00/.local/share/virtualenv/wheel/3.8/image/1/CopyPipInstall/wheel-0.36.2-py2.py3-none-any/wheel to /home/jugmac00/All/output_plone/plone/plone.autoinclude/.tox/4/py38-unit/lib/python3.8/site-packages/wheel [virtualenv/util/path/_sync.py:52]
ROOT: 265 D copy directory /home/jugmac00/.local/share/virtualenv/wheel/3.8/image/1/CopyPipInstall/pip-21.0.1-py3-none-any/pip to /home/jugmac00/All/output_plone/plone/plone.autoinclude/.tox/4/py38-unit/lib/python3.8/site-packages/pip [virtualenv/util/path/_sync.py:52]
ROOT: 270 D copy /home/jugmac00/.local/share/virtualenv/wheel/3.8/image/1/CopyPipInstall/setuptools-53.0.0-py3-none-any/distutils-precedence.pth to /home/jugmac00/All/output_plone/plone/plone.autoinclude/.tox/4/py38-unit/lib/python3.8/site-packages/distutils-precedence.pth [virtualenv/util/path/_sync.py:52]
ROOT: 270 D copy directory /home/jugmac00/.local/share/virtualenv/wheel/3.8/image/1/CopyPipInstall/setuptools-53.0.0-py3-none-any/_distutils_hack to /home/jugmac00/All/output_plone/plone/plone.autoinclude/.tox/4/py38-unit/lib/python3.8/site-packages/_distutils_hack [virtualenv/util/path/_sync.py:52]
ROOT: 271 D copy directory /home/jugmac00/.local/share/virtualenv/wheel/3.8/image/1/CopyPipInstall/setuptools-53.0.0-py3-none-any/setuptools to /home/jugmac00/All/output_plone/plone/plone.autoinclude/.tox/4/py38-unit/lib/python3.8/site-packages/setuptools [virtualenv/util/path/_sync.py:52]
ROOT: 272 D changing mode of /home/jugmac00/All/output_plone/plone/plone.autoinclude/.tox/4/py38-unit/bin/wheel-3.8 to 755 [distlib/util.py:566]
ROOT: 273 D changing mode of /home/jugmac00/All/output_plone/plone/plone.autoinclude/.tox/4/py38-unit/bin/wheel3.8 to 755 [distlib/util.py:566]
ROOT: 273 D changing mode of /home/jugmac00/All/output_plone/plone/plone.autoinclude/.tox/4/py38-unit/bin/wheel to 755 [distlib/util.py:566]
ROOT: 273 D changing mode of /home/jugmac00/All/output_plone/plone/plone.autoinclude/.tox/4/py38-unit/bin/wheel3 to 755 [distlib/util.py:566]
ROOT: 273 D generated console scripts wheel wheel3 wheel3.8 wheel-3.8 [virtualenv/seed/embed/via_app_data/pip_install/base.py:48]
ROOT: 299 D copy directory /home/jugmac00/.local/share/virtualenv/wheel/3.8/image/1/CopyPipInstall/setuptools-53.0.0-py3-none-any/setuptools-53.0.0.dist-info to /home/jugmac00/All/output_plone/plone/plone.autoinclude/.tox/4/py38-unit/lib/python3.8/site-packages/setuptools-53.0.0.dist-info [virtualenv/util/path/_sync.py:52]
ROOT: 301 D copy /home/jugmac00/.local/share/virtualenv/wheel/3.8/image/1/CopyPipInstall/setuptools-53.0.0-py3-none-any/setuptools-53.0.0.virtualenv to /home/jugmac00/All/output_plone/plone/plone.autoinclude/.tox/4/py38-unit/lib/python3.8/site-packages/setuptools-53.0.0.virtualenv [virtualenv/util/path/_sync.py:52]
ROOT: 302 D generated console scripts  [virtualenv/seed/embed/via_app_data/pip_install/base.py:48]
ROOT: 324 D changing mode of /home/jugmac00/All/output_plone/plone/plone.autoinclude/.tox/4/py38-unit/bin/pip3 to 755 [distlib/util.py:566]
ROOT: 325 D changing mode of /home/jugmac00/All/output_plone/plone/plone.autoinclude/.tox/4/py38-unit/bin/pip-3.8 to 755 [distlib/util.py:566]
ROOT: 325 D changing mode of /home/jugmac00/All/output_plone/plone/plone.autoinclude/.tox/4/py38-unit/bin/pip3.8 to 755 [distlib/util.py:566]
ROOT: 325 D changing mode of /home/jugmac00/All/output_plone/plone/plone.autoinclude/.tox/4/py38-unit/bin/pip to 755 [distlib/util.py:566]
ROOT: 325 D generated console scripts pip pip3.8 pip3 pip-3.8 [virtualenv/seed/embed/via_app_data/pip_install/base.py:48]
ROOT: 325 I add activators for Bash, CShell, Fish, PowerShell, Python, Xonsh [virtualenv/run/session.py:66]
ROOT: 326 D write /home/jugmac00/All/output_plone/plone/plone.autoinclude/.tox/4/py38-unit/pyvenv.cfg [virtualenv/create/pyenv_cfg.py:34]
ROOT: 326 D 	home = /usr [virtualenv/create/pyenv_cfg.py:38]
ROOT: 326 D 	implementation = CPython [virtualenv/create/pyenv_cfg.py:38]
ROOT: 326 D 	version_info = 3.8.8.final.0 [virtualenv/create/pyenv_cfg.py:38]
ROOT: 326 D 	virtualenv = 20.4.2 [virtualenv/create/pyenv_cfg.py:38]
ROOT: 326 D 	include-system-site-packages = false [virtualenv/create/pyenv_cfg.py:38]
ROOT: 326 D 	base-prefix = /usr [virtualenv/create/pyenv_cfg.py:38]
ROOT: 326 D 	base-exec-prefix = /usr [virtualenv/create/pyenv_cfg.py:38]
ROOT: 326 D 	base-executable = /usr/bin/python3.8 [virtualenv/create/pyenv_cfg.py:38]
ROOT: 328 W install_deps> python -I -m pip install '-e .' '-e test-packages/example.addon' '-e test-packages/example.different' '-e test-packages/example.different2' '-e test-packages/example.metaoverrides' '-e test-packages/example.multipleeps' '-e test-packages/example.ploneaddon' '-e test-packages/example.ploneintegration' '-e test-packages/example.zopeaddon' '-e test-packages/example.zopeintegration' zope.testrunner [tox/tox_env/api.py:288]
ERROR:  . is not a valid editable requirement. It should either be a path to a local project or a VCS URL (beginning with bzr+http, bzr+https, bzr+ssh, bzr+sftp, bzr+ftp, bzr+lp, bzr+file, git+http, git+https, git+ssh, git+git, git+file, hg+file, hg+http, hg+https, hg+ssh, hg+static-http, svn+ssh, svn+http, svn+https, svn+svn, svn+file).
ROOT: 1033 C exit 1 (0.70 seconds) /home/jugmac00/All/output_plone/plone/plone.autoinclude> python -I -m pip install '-e .' '-e test-packages/example.addon' '-e test-packages/example.different' '-e test-packages/example.different2' '-e test-packages/example.metaoverrides' '-e test-packages/example.multipleeps' '-e test-packages/example.ploneaddon' '-e test-packages/example.ploneintegration' '-e test-packages/example.zopeaddon' '-e test-packages/example.zopeintegration' zope.testrunner pid=31830 [tox/execute/api.py:200]
  py38-unit: FAIL code 1 (0.88 seconds)
  evaluation failed :( (0.91 seconds)
@jugmac00 jugmac00 added the bug:normal affects many people or has quite an impact label Mar 2, 2021
@gaborbernat gaborbernat added this to the 4.0 milestone Mar 2, 2021
@hexagonrecursion
Copy link
Contributor

If '-e .' is passed to pip install as a single argument it fails:

$ pip install '-e .'
ERROR:  . is not a valid editable requirement. It should either be a path to a local project or a VCS URL (beginning with bzr+http, bzr+https, bzr+ssh, bzr+sftp, bzr+ftp, bzr+lp, bzr+file, git+http, git+https, git+ssh, git+git, git+file, hg+file, hg+http, hg+https, hg+ssh, hg+static-http, svn+ssh, svn+http, svn+https, svn+svn, svn+file).

'-e.' (note: no space in between) works fine:

$ pip install '-e.'
Obtaining file:///home/user/hello-tox
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Installing backend dependencies ... done
    Preparing wheel metadata ... done
Installing collected packages: UNKNOWN
  Running setup.py develop for UNKNOWN
Successfully installed UNKNOWN

Passing -e and . as separate arguments also works:

$ pip install -e .
Obtaining file:///home/user/hello-tox
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Installing backend dependencies ... done
    Preparing wheel metadata ... done
Installing collected packages: UNKNOWN
  Running setup.py develop for UNKNOWN
Successfully installed UNKNOWN

@hexagonrecursion
Copy link
Contributor

tox3 works around that by turning '-e .' into '-e.'

@hexagonrecursion
Copy link
Contributor

This is the downside of rewrites. This bug have already been fixed once. Now we have to fix it again.

# we need to process options, in case they contain a space,
# as the subprocess call to pip install will otherwise fail.
# in case of a short option, we remove the space
for option in tox.PIP.INSTALL_SHORT_OPTIONS_ARGUMENT:
if name.startswith(option):
name = "{}{}".format(option, name[len(option) :].strip())
# in case of a long option, we add an equal sign
for option in tox.PIP.INSTALL_LONG_OPTIONS_ARGUMENT:
name_start = "{} ".format(option)
if name.startswith(name_start):
name = "{}={}".format(option, name[len(option) :].strip())

@gaborbernat
Copy link
Member

This is the downside of rewrites. This bug have already been fixed once. Now we have to fix it again.

It's a trade-off, on one end some old bugs might creep in, but on the upside, the codebase will be in a better place after it. No need to lament over this. For example, here I think tox 3 solution is incorrect, we should turn this into Passing -e and . as separate arguments.

@jugmac00
Copy link
Member Author

jugmac00 commented Apr 5, 2021

This has been fixed by #1991 - thanks a lot, @gaborbernat!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug:normal affects many people or has quite an impact
Projects
None yet
Development

No branches or pull requests

3 participants