Ticket #4499 defect closed fixed

Opened 3 years ago

Last modified 3 years ago

`easy_install Twisted` fails in a virtualenv on Win32 (using mingw)

Reported by: khorn Owned by:
Priority: normal Milestone:
Component: core Keywords:
Cc: Branch:
Author: Launchpad Bug:

Description

steps to reproduce:

  1. create a virtualenv on Win32, cd into it, and activate it
  2. run easy_install Twisted

here's what I get:

(venv) venv>easy_install Twisted
Searching for Twisted
Reading http://pypi.python.org/simple/Twisted/
Reading http://www.twistedmatrix.com
Reading http://twistedmatrix.com/products/download
Reading http://twistedmatrix.com/projects/core/
Reading http://twistedmatrix.com/
Reading http://tmrc.mit.edu/mirror/twisted/Twisted/8.2/
Reading http://tmrc.mit.edu/mirror/twisted/Twisted/8.1/
Reading http://tmrc.mit.edu/mirror/twisted/Twisted/10.0/
Reading http://tmrc.mit.edu/mirror/twisted/Twisted/9.0/
Best match: Twisted 10.0.0
Downloading http://tmrc.mit.edu/mirror/twisted/Twisted/10.0/Twisted-10.0.0.tar.b
z2
Processing Twisted-10.0.0.tar.bz2
Running Twisted-10.0.0\setup.py -q bdist_egg --dist-dir c:\docume~1\funsize\loca
ls~1\temp\easy_install-2lcaco\Twisted-10.0.0\egg-dist-tmp-jatter
error: Setup script exited with error: Unable to find vcvarsall.bat

This is on WinXP, with distutils configured to use mingw as the compiler to use to build extensions.

easy_install Twisted works fine outside of a virtualenv

Change History

1

follow-up: ↓ 3   Changed 3 years ago by exarkun

Does easy_install in virtualenv work for any source package including extension modules?

2

  Changed 3 years ago by khorn

Also, I should mention, easy_install Twisted appears to work fine in a virtualenv on Ubuntu 9.10 (and presumably other Unices).

My testing so far has been with Python 2.6.4 and Twisted 10.0

3

in reply to: ↑ 1   Changed 3 years ago by khorn

Replying to exarkun:

Does easy_install in virtualenv work for any source package including extension modules?

Hmmm...good question. If not, I guess this could be a distutil/setuptools/virtualenv problem, not a Twisted one. I'll investigate.

4

  Changed 3 years ago by exarkun

Cool. Thanks for looking into it. I've just remembered that as of the 10.1 release, we're going to try to make a bdist_wininst available. I think this should remove the need to have a compiler available at easy_install time. So that might be another way we can resolve this behavior.

5

  Changed 3 years ago by khorn

Just tried installing lxml inside a virtualenv, and got the same error. So this doesn't seem to be a Twisted-specific problem after all.

6

  Changed 3 years ago by khorn

It looks as though virtualenv creates a new (empty) distutils.cfg, which results in distutils trying to use the default of MSVC. I'm not sure whether this behavior is by design or not.

easy_install Twisted completes once you fix the config file.

Regardless, once Twisted has a distutils-compatible .exe file this will become pretty much a non-issue.

Suggest this be closed when said .exe installer becomes available. Or now. Whichever.

7

  Changed 3 years ago by exarkun

  • status changed from new to closed
  • resolution set to fixed

It should magically happen as part of the release.  http://buildbot.twistedmatrix.com/builds/ has trunk versions until then. The release procedure also mentions that the .exes should be uploaded to pypi and such. So, even though the described behavior is still what happens, I don't think we need to leave this ticket open to track the fix; closing it would just be one more step for the release manager. :)

8

  Changed 3 years ago by zooko

See also #3586 (I want to install twisted without a c compiler). If #3586 were fixed then I guess the build in the virtualenv would have succeeded despite the problem with the compiler.

9

  Changed 2 years ago by <automation>

  • owner glyph deleted
Note: See TracTickets for help on using tickets.