This issue tracker has been migrated to GitHub ,
and is currently read-only.
For more information,
see the GitHub FAQs in the Python's Developer Guide.
Created on 2011年01月10日 19:54 by ixokai, last changed 2022年04月11日 14:57 by admin. This issue is now closed.
| Files | ||||
|---|---|---|---|---|
| File name | Uploaded | Description | Edit | |
| smime.p7s | ronaldoussoren, 2011年10月18日 09:26 | |||
| Messages (14) | |||
|---|---|---|---|
| msg125919 - (view) | Author: Stephen Hansen (ixokai) (Python triager) | Date: 2011年01月10日 19:54 | |
With the latest from branches/py3k, in a framework build, I get: Wimp:build pythonbuildbot$ ./python.exe -m test.regrtest test_site [1/1] test_site test test_site failed -- Traceback (most recent call last): File "/Users/pythonbuildbot/32test/build/Lib/test/test_site.py", line 225, in test_getsitepackages self.assertEqual(len(dirs), 2) AssertionError: 3 != 2 1 test failed: test_site Wimp:build pythonbuildbot$ ./python.exe Python 3.2b2+ (py3k:87899M, Jan 10 2011, 11:08:48) [GCC 4.0.1 (Apple Inc. build 5493)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> import site >>> site.getsitepackages() ['/Library/Frameworks/Python.framework/Versions/3.2/lib/python3.2/site-packages', '/Library/Frameworks/Python.framework/Versions/3.2/lib/site-python', '/Library/Python/3.2/site-packages'] Those three dirs look correct for me, but the test is written to find exactly two from site.getsitepackages() -- the code, however, adds an extra in the event of framework builds. |
|||
| msg125920 - (view) | Author: Stephen Hansen (ixokai) (Python triager) | Date: 2011年01月10日 19:55 | |
... oops! Apparently dupe. Forgot to search first. Ignore. |
|||
| msg140655 - (view) | Author: Vinay Sajip (vinay.sajip) * (Python committer) | Date: 2011年07月19日 11:29 | |
I'd like to reopen this, as it doesn't seem to be a duplicate of #8084. Specifically, test_getsitepackages in test_sitepackages appears to be wrong, since it has a correct test for platform builds later in the method, but the failure occurs earlier because the path "os.sep == '/'" is taken on OS X. The test should be restructured as e.g. if sys.platform in ('os2emx', 'riscos'): # stuff for OS/2, RISCOS elif (sys.platform == "darwin" and sysconfig.get_config_var("PYTHONFRAMEWORK")): # OS X platform builds elif os.sep == '/': # OS X non-platform builds, Linux, FreeBSD etc. else: # other platforms That the test itself is broken is not the thrust of #8084. |
|||
| msg140663 - (view) | Author: Éric Araujo (eric.araujo) * (Python committer) | Date: 2011年07月19日 13:11 | |
How can we detect framework builds from Python code? Maybe there is a variable in sysconfig? |
|||
| msg140664 - (view) | Author: Éric Araujo (eric.araujo) * (Python committer) | Date: 2011年07月19日 13:12 | |
Hem, I should have re-read Vinay’s message before posting :) Marking as easy. |
|||
| msg140667 - (view) | Author: Vinay Sajip (vinay.sajip) * (Python committer) | Date: 2011年07月19日 14:10 | |
This is now fixed in pythonv, see https://bitbucket.org/vinay.sajip/pythonv/changeset/a59a3868d185/raw/pythonv-a59a3868d185.diff |
|||
| msg145355 - (view) | Author: Bryce Verdier (louiscipher) | Date: 2011年10月11日 18:15 | |
I would like to help by reviewing the patch, however I'm unsure about how to do the framework aspect of this. Can someone send me instructions or a link on how I would set this up to test? Thanks in advance, |
|||
| msg145356 - (view) | Author: Vinay Sajip (vinay.sajip) * (Python committer) | Date: 2011年10月11日 18:44 | |
IIRC what I did was clone the repo, configure and build, then sudo make frameworkinstall For me (on Leopard), this installed Python 3.3 in /Library/Frameworks/Python.framework, leaving my system Python (2.5.1) alone. Then you can just invoke the regression tests using python3.3 Lib/test/regrtest.py test_site from the appropriate directory. But note that this is a case where the test needs fixing, not the code being tested. |
|||
| msg145364 - (view) | Author: Ned Deily (ned.deily) * (Python committer) | Date: 2011年10月11日 20:25 | |
> sudo make frameworkinstall While that shouldn't affect the Apple-supplied system Pythons, be aware that with default ./configure settings this will overwrite any third-party Python installs (like from the python.org installers) of the version in question in /Library/Frameworks. For unreleased versions, like from default that shouldn't be a big issue. But it is safer and easy to pick some other location to install the framework. I also usually use a different framework name to reduce the chances of accidentally dynamically linking to the wrong framework. On a current 10.6 or 10.7 system, I'd recommend something like this: ./configure --enable-universalsdk=/Developer/SDKs/MacOSX10.6.sdk --with-universal-archs=intel '--prefix=/path/to/test/root' '--enable-framework=/path/to/test/Library' --with-framework-name=pytest_10_6 MACOSX_DEPLOYMENT_TARGET=10.6 CC=/usr/bin/gcc-4.2 On 10.4 or 10.5 systems, to simulate the 32-bit-only installer build: ./configure --enable-universalsdk=/Developer/SDKs/MacOSX10.4u.sdk --with-universal-archs=32-bit '--prefix=/path/to/test/root' '--enable-framework=/path/to/test/Library' --with-framework-name=pytest_10_3 --with-pydebug MACOSX_DEPLOYMENT_TARGET=10.3 CC=/usr/bin/gcc-4.0 Bryce, are you interested in writing a patch for the test? |
|||
| msg145365 - (view) | Author: Ned Deily (ned.deily) * (Python committer) | Date: 2011年10月11日 20:28 | |
I forgot to mention that one advantage of using another framework and root location, say, under your home directory somewhere, is that it is unnecessary to use sudo. And you don't need to use the special target in any case, simply "make install". |
|||
| msg145788 - (view) | Author: Ronald Oussoren (ronaldoussoren) * (Python committer) | Date: 2011年10月18日 09:26 | |
On 11 Oct, 2011, at 22:28, Ned Deily wrote: > > Ned Deily <nad@acm.org> added the comment: > > I forgot to mention that one advantage of using another framework and root location, say, under your home directory somewhere, is that it is unnecessary to use sudo. And you don't need to use the special target in any case, simply "make install". Make install always works, the frameworkinstall target is a leftover from a time when you couldn't use "make install". |
|||
| msg152712 - (view) | Author: Roundup Robot (python-dev) (Python triager) | Date: 2012年02月06日 00:00 | |
New changeset 82c4f094f811 by Ned Deily in branch '2.7': Issue #10881: Fix test_site failures with OS X framework builds. http://hg.python.org/cpython/rev/82c4f094f811 New changeset 013cba2eb008 by Ned Deily in branch '3.2': Issue #10881: Fix test_site failure with OS X framework builds. http://hg.python.org/cpython/rev/013cba2eb008 New changeset c88606bd5287 by Ned Deily in branch 'default': Issue #10881: merge http://hg.python.org/cpython/rev/c88606bd5287 |
|||
| msg152713 - (view) | Author: Ned Deily (ned.deily) * (Python committer) | Date: 2012年02月06日 00:06 | |
Thanks, Vinay, for your analysis. I adapted it for the applied fix. For 2.7, there were two additional test_site failures that are fixed by back porting minor fixes to site.py and sysconfig.py from 3.x. Applied in 2.7 (for 2.7.3), 3.2 (for 3.2.3), and default (for 3.3). |
|||
| msg152716 - (view) | Author: Ned Deily (ned.deily) * (Python committer) | Date: 2012年02月06日 00:57 | |
P.S. I forgot to mention that one of the 2.7 test_site failures was due to the PYTHONUSERBASE env variable having no effect with OS X framework builds. That had been fixed in 3.x; it's now back ported. |
|||
| History | |||
|---|---|---|---|
| Date | User | Action | Args |
| 2022年04月11日 14:57:11 | admin | set | github: 55090 |
| 2012年02月06日 00:57:38 | ned.deily | set | messages: + msg152716 |
| 2012年02月06日 00:06:21 | ned.deily | set | status: open -> closed resolution: fixed messages: + msg152713 stage: needs patch -> resolved |
| 2012年02月06日 00:00:44 | python-dev | set | nosy:
+ python-dev messages: + msg152712 |
| 2011年10月18日 09:26:32 | ronaldoussoren | set | files:
+ smime.p7s messages: + msg145788 |
| 2011年10月11日 20:28:31 | ned.deily | set | messages: + msg145365 |
| 2011年10月11日 20:25:43 | ned.deily | set | nosy:
+ ned.deily messages: + msg145364 assignee: ronaldoussoren -> ned.deily stage: patch review -> needs patch |
| 2011年10月11日 18:44:16 | vinay.sajip | set | messages: + msg145356 |
| 2011年10月11日 18:15:27 | louiscipher | set | nosy:
+ louiscipher messages: + msg145355 |
| 2011年07月22日 21:43:52 | eric.araujo | set | keywords:
+ patch, needs review stage: needs patch -> patch review |
| 2011年07月19日 14:10:42 | vinay.sajip | set | messages: + msg140667 |
| 2011年07月19日 13:12:22 | eric.araujo | set | keywords:
+ easy stage: needs patch messages: + msg140664 versions: + Python 2.7, Python 3.3 |
| 2011年07月19日 13:11:10 | eric.araujo | set | superseder: pep-0370 on osx duplicates existing functionality -> messages: + msg140663 nosy: + eric.araujo |
| 2011年07月19日 11:29:05 | vinay.sajip | set | status: closed -> open nosy: + vinay.sajip messages: + msg140655 type: behavior resolution: duplicate -> (no value) |
| 2011年01月10日 21:49:17 | ixokai | set | superseder: pep-0370 on osx duplicates existing functionality |
| 2011年01月10日 19:55:04 | ixokai | set | status: open -> closed messages: + msg125920 resolution: duplicate |
| 2011年01月10日 19:54:06 | ixokai | create | |