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

Isolated build with 'enscons' as backend build system fails #2130

Closed
oczkoisse opened this issue Jul 30, 2021 · 2 comments · Fixed by #2131
Closed

Isolated build with 'enscons' as backend build system fails #2130

oczkoisse opened this issue Jul 30, 2021 · 2 comments · Fixed by #2131
Labels
bug:normal affects many people or has quite an impact fixed-by-tox4 This has been fixed within tox 4, and we don't plant to backport it to version 3. help:wanted Issues that have been acknowledged, a solution determined and a PR might likely be accepted.

Comments

@oczkoisse
Copy link

I'm trying to use tox with isolated_build set to true and enscons as the backend build system. When isolated_build is not set (default is false I think), tox works fine. However, when isolated_build is set to true, the build fails with the following error:

action: .package, msg: get-build-requires
cwd: C:\Users\banga\Projects\Personal\labeling-tool
cmd: 'C:\Users\banga\Projects\Personal\labeling-tool\.tox\.package\Scripts\python' '.venv\Lib\site-packages\tox\helper\build_requires.py' enscons.api '' ''
Traceback (most recent call last):
  File ".venv\Lib\site-packages\tox\helper\build_requires.py", line 15, in <module>
    for_build_requires = backend.get_requires_for_build_sdist(None)
AttributeError: module 'enscons.api' has no attribute 'get_requires_for_build_sdist'

I might be wrong but I thought get_requires_for_build_sdist and get_requires_for_build_wheel were optional hooks in PEP 517 and should be assumed to return empty list if absent.

The tox configuration in pyproject.toml is:

[tool.tox]
legacy_tox_ini = """
[tox]
envlist = py37, py38, py39
isolated_build = true

[testenv]
deps = pytest
commands = pytest
"""
@oczkoisse oczkoisse added the bug:normal affects many people or has quite an impact label Jul 30, 2021
@oczkoisse
Copy link
Author

I've set up an example repository here. To reproduce the error:

  1. Clone the repo
  2. Set up a virtual environment
  3. pip install tox enscons
  4. Run tox. You should get an error similar to the following
    ========================================================================== log start ==========================================================================
    Traceback (most recent call last):
      File ".venv\Lib\site-packages\tox\helper\build_requires.py", line 15, in <module>
        for_build_requires = backend.get_requires_for_build_sdist(None)
    AttributeError: module 'enscons.api' has no attribute 'get_requires_for_build_sdist'
    
    =========================================================================== log end ===========================================================================
    ERROR: FAIL could not package project - v = InvocationError("'C:\\Users\\banga\\Projects\\Personal\\test-enscons\\.tox\\.package\\Scripts\\python' '.venv\\Lib\\site-packages\\tox\\helper\\build_requires.py' enscons.api '' ''", 1)
    
  5. Setting isolated_build = false in pyproject.toml doesn't cause the above error

@gaborbernat
Copy link
Member

This is a bug in our system, namely here https://github.com/tox-dev/tox/blob/master/src/tox/helper/build_requires.py#L15. This has been fixed in tox v4, but not on the v3 branch. PRs weclome.

@gaborbernat gaborbernat added fixed-by-tox4 This has been fixed within tox 4, and we don't plant to backport it to version 3. help:wanted Issues that have been acknowledged, a solution determined and a PR might likely be accepted. labels Jul 30, 2021
bors bot added a commit to meilisearch/meilisearch-python that referenced this issue Aug 17, 2021
299: Bump tox from 3.23.1 to 3.24.1 r=alallema a=dependabot[bot]

Bumps [tox](https://github.com/tox-dev/tox) from 3.23.1 to 3.24.1.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/tox-dev/tox/blob/master/docs/changelog.rst">tox's changelog</a>.</em></p>
<blockquote>
<h2>v3.24.1 (2021-07-31)</h2>
<p>Bugfixes
^^^^^^^^</p>
<ul>
<li><code>get_requires_for_build_sdist</code> hook (PEP 517) is assumed to return an empty list if left unimplemented by the backend build system - by :user:<code>oczkoisse</code>
<code>[#2130](tox-dev/tox#2130) &lt;https://github.com/tox-dev/tox/issues/2130&gt;</code>_</li>
</ul>
<p>Documentation
^^^^^^^^^^^^^</p>
<ul>
<li>The documentation of <code>install_command</code> now also mentions that you can provide arbitrary commands - by :user:<code>jugmac00</code>
<code>[#2081](tox-dev/tox#2081) &lt;https://github.com/tox-dev/tox/issues/2081&gt;</code>_</li>
</ul>
<h2>v3.24.0 (2021-07-14)</h2>
<p>Bugfixes
^^^^^^^^</p>
<ul>
<li><code>--devenv</code> no longer modifies the directory in which the <code>.tox</code> environment is provisioned - by :user:<code>isaac-ped</code>
<code>[#2065](tox-dev/tox#2065) &lt;https://github.com/tox-dev/tox/issues/2065&gt;</code>_</li>
<li>Fix show config when the package names are not in canonical form - by :user:<code>gaborbernat</code>.
<code>[#2103](tox-dev/tox#2103) &lt;https://github.com/tox-dev/tox/issues/2103&gt;</code>_</li>
</ul>
<p>Documentation
^^^^^^^^^^^^^</p>
<ul>
<li>Extended environment variables section - by :user:<code>majiang</code>
<code>[#2036](tox-dev/tox#2036) &lt;https://github.com/tox-dev/tox/issues/2036&gt;</code>_</li>
</ul>
<p>Miscellaneous
^^^^^^^^^^^^^</p>
<ul>
<li><code>tox</code> no longer shows deprecation warnings for <code>distutils.sysconfig</code> on
Python 3.10 - by :user:<code>9999years</code>
<code>[#2100](tox-dev/tox#2100) &lt;https://github.com/tox-dev/tox/issues/2100&gt;</code>_</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="https://github.com/tox-dev/tox/commit/80918013ac88335331cc5c9b09f2912dad41b63a"><code>8091801</code></a> release 3.24.1</li>
<li><a href="https://github.com/tox-dev/tox/commit/db5861cc7a6cb9d7479116077065423c8d358218"><code>db5861c</code></a> Alow backend build system to omit <code>get_requires_for_build_sdist</code> hook (<a href="https://github-redirect.dependabot.com/tox-dev/tox/issues/2131">#2131</a>)</li>
<li><a href="https://github.com/tox-dev/tox/commit/a61a6b6bf8713f35e560a2449480a8ea5721bad7"><code>a61a6b6</code></a> [pre-commit.ci] pre-commit autoupdate (<a href="https://github-redirect.dependabot.com/tox-dev/tox/issues/2119">#2119</a>)</li>
<li><a href="https://github.com/tox-dev/tox/commit/62f923f1ff2d4c0260cc804fb6723a6655df7255"><code>62f923f</code></a> Update poetry link</li>
<li><a href="https://github.com/tox-dev/tox/commit/20d0646554db9d503afe5b140518cbcb95c2c4de"><code>20d0646</code></a> improve documentation for <code>install_command</code> (<a href="https://github-redirect.dependabot.com/tox-dev/tox/issues/2111">#2111</a>)</li>
<li><a href="https://github.com/tox-dev/tox/commit/b35565a2ee0bfce11e139a163ca1fde3994455ed"><code>b35565a</code></a> [pre-commit.ci] pre-commit autoupdate (<a href="https://github-redirect.dependabot.com/tox-dev/tox/issues/2110">#2110</a>)</li>
<li><a href="https://github.com/tox-dev/tox/commit/3c576a70a119fcb306b1f6e19b1faae4ee178dc4"><code>3c576a7</code></a> Fix misformed title in changelog</li>
<li><a href="https://github.com/tox-dev/tox/commit/7852011425de61cf57ba2c2d06a6c8a4cc12e060"><code>7852011</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/tox-dev/tox/issues/2105">#2105</a> from tox-dev/release-3.24.0</li>
<li><a href="https://github.com/tox-dev/tox/commit/c2e2e3441af72b45a03d11589908762ab0204613"><code>c2e2e34</code></a> release 3.24.0</li>
<li><a href="https://github.com/tox-dev/tox/commit/91dfd3e8bdf95ca2992d675162619036345120d4"><code>91dfd3e</code></a> Add Python3.10 to CI and handle distutils deprecation</li>
<li>Additional commits viewable in <a href="https://github.com/tox-dev/tox/compare/3.23.1...3.24.1">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=tox&package-manager=pip&previous-version=3.23.1&new-version=3.24.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
bors bot added a commit to meilisearch/docs-scraper that referenced this issue Aug 25, 2021
148: Bump tox from 3.23.0 to 3.24.3 r=bidoubiwa a=dependabot[bot]

Bumps [tox](https://github.com/tox-dev/tox) from 3.23.0 to 3.24.3.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/tox-dev/tox/blob/master/docs/changelog.rst">tox's changelog</a>.</em></p>
<blockquote>
<p>v3.24.3 (2021-08-21)
Bugfixes
^^^^^^^^</p>
<ul>
<li><code>--parallel</code> reports now show ASCII OK/FAIL/SKIP lines when full Unicode output is not available - by :user:<code>brettcs</code>
<code>[#1421](tox-dev/tox#1421) &lt;https://github.com/tox-dev/tox/issues/1421&gt;</code>_</li>
</ul>
<p>Miscellaneous
^^^^^^^^^^^^^</p>
<ul>
<li>Started enforcing valid references in Sphinx docs -- :user:<code>webknjaz</code>
<code>[#2168](tox-dev/tox#2168) &lt;https://github.com/tox-dev/tox/issues/2168&gt;</code>_</li>
</ul>
<h2>v3.24.2 (2021-08-18)</h2>
<p>Bugfixes
^^^^^^^^</p>
<ul>
<li>include <code>LC_ALL</code> to implicit list of passenv variables - by :user:<code>ssbarnea</code>
<code>[#2162](tox-dev/tox#2162) &lt;https://github.com/tox-dev/tox/issues/2162&gt;</code>_</li>
</ul>
<h2>v3.24.1 (2021-07-31)</h2>
<p>Bugfixes
^^^^^^^^</p>
<ul>
<li><code>get_requires_for_build_sdist</code> hook (PEP 517) is assumed to return an empty list if left unimplemented by the backend build system - by :user:<code>oczkoisse</code>
<code>[#2130](tox-dev/tox#2130) &lt;https://github.com/tox-dev/tox/issues/2130&gt;</code>_</li>
</ul>
<p>Documentation
^^^^^^^^^^^^^</p>
<ul>
<li>The documentation of <code>install_command</code> now also mentions that you can provide arbitrary commands - by :user:<code>jugmac00</code>
<code>[#2081](tox-dev/tox#2081) &lt;https://github.com/tox-dev/tox/issues/2081&gt;</code>_</li>
</ul>
<h2>v3.24.0 (2021-07-14)</h2>
<p>Bugfixes
^^^^^^^^</p>
<ul>
<li><code>--devenv</code> no longer modifies the directory in which the <code>.tox</code> environment is provisioned - by :user:<code>isaac-ped</code>
<code>[#2065](tox-dev/tox#2065) &lt;https://github.com/tox-dev/tox/issues/2065&gt;</code>_</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="https://github.com/tox-dev/tox/commit/db3149ecd44c0b03418386074a3b07de2914a14d"><code>db3149e</code></a> release 3.24.3</li>
<li><a href="https://github.com/tox-dev/tox/commit/8f5ca1165749efd71d4d3afc19285a9257fe1279"><code>8f5ca11</code></a> ASCII output for --parallel report lines (<a href="https://github-redirect.dependabot.com/tox-dev/tox/issues/2164">#2164</a>)</li>
<li><a href="https://github.com/tox-dev/tox/commit/e1f1826d0533c3b45cbe72c9210ae0cca3ad2181"><code>e1f1826</code></a> ♲ Fix the rendering of PR templates (<a href="https://github-redirect.dependabot.com/tox-dev/tox/issues/2169">#2169</a>)</li>
<li><a href="https://github.com/tox-dev/tox/commit/3dbc21f47ed2fe07dce09770e02e692e1c0e3045"><code>3dbc21f</code></a> 📝 Make Sphinx strict about broken references (<a href="https://github-redirect.dependabot.com/tox-dev/tox/issues/2168">#2168</a>)</li>
<li><a href="https://github.com/tox-dev/tox/commit/63c98c2ff2bf6506499ed73e8c0806df79351951"><code>63c98c2</code></a> 📝 Document when <code>{tty}</code> was added (<a href="https://github-redirect.dependabot.com/tox-dev/tox/issues/2166">#2166</a>)</li>
<li><a href="https://github.com/tox-dev/tox/commit/29a1ca98b5f6fc9d6adf4200c2fb566a0319cd65"><code>29a1ca9</code></a> 🐛 Fix the last version+date underline in changelog (<a href="https://github-redirect.dependabot.com/tox-dev/tox/issues/2165">#2165</a>)</li>
<li><a href="https://github.com/tox-dev/tox/commit/8c8a29e34886f45f7e3b86dc62a1723aa14fd369"><code>8c8a29e</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/tox-dev/tox/issues/2163">#2163</a> from tox-dev/release-3.24.2</li>
<li><a href="https://github.com/tox-dev/tox/commit/3dc01d5c0f3ec51583de6c990107f12c608d82f6"><code>3dc01d5</code></a> release 3.24.2</li>
<li><a href="https://github.com/tox-dev/tox/commit/bb609f5acfc580588925367b00533bf808e9d4c1"><code>bb609f5</code></a> Add LC_ALL to implicit tox passenv (<a href="https://github-redirect.dependabot.com/tox-dev/tox/issues/2162">#2162</a>)</li>
<li><a href="https://github.com/tox-dev/tox/commit/8ded7b72cb7dbb8da3a3eccfe6f9a099edbcde5f"><code>8ded7b7</code></a> [pre-commit.ci] pre-commit autoupdate (<a href="https://github-redirect.dependabot.com/tox-dev/tox/issues/2149">#2149</a>)</li>
<li>Additional commits viewable in <a href="https://github.com/tox-dev/tox/compare/3.23.0...3.24.3">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=tox&package-manager=pip&previous-version=3.23.0&new-version=3.24.3)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting ``@dependabot` rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- ``@dependabot` rebase` will rebase this PR
- ``@dependabot` recreate` will recreate this PR, overwriting any edits that have been made to it
- ``@dependabot` merge` will merge this PR after your CI passes on it
- ``@dependabot` squash and merge` will squash and merge this PR after your CI passes on it
- ``@dependabot` cancel merge` will cancel a previously requested merge and block automerging
- ``@dependabot` reopen` will reopen this PR if it is closed
- ``@dependabot` close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- ``@dependabot` ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- ``@dependabot` ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
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 fixed-by-tox4 This has been fixed within tox 4, and we don't plant to backport it to version 3. help:wanted Issues that have been acknowledged, a solution determined and a PR might likely be accepted.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants