pip install PySide fails QtCore Framework check (O

2019-07-28 01:44发布

问题:

The error

When I run pip install PySide – whether in a virtual environment or not – build fails with the following error:

... [lots of build info, including a few warnings but no errors, for shiboken]

Linking CXX executable shiboken

ld: framework not found QtCore

clang: error: linker command failed with exit code 1 (use -v to see invocation)

Seeing as I have QtCore installed and the framework present (see below), I'm not sure why that should be.

Setup info

Software versions

  • OS X 10.8.2
  • Qt 4.8.4 from the developer distributed binaries
  • Python 3.3 installed and working normally
  • XCode 4.6
  • Apple LLVM version 4.2 (clang-425.0.24) (based on LLVM 3.2svn) Target: x86_64-apple-darwin12.2.1
  • Virtual environment generating using pyvenv (with and without --no-site-packages)

Other configurations attempted

  • Python 2.7 installed and working normally
  • Virtual environment generated using mkvirtualenv (with and without --no-site-packages)
    • virtualenv 1.8.4
    • mkvirtualenv 3.6

System configuration

I've confirmed that QtCore is in fact installed correctly: ls /Library/Frameworks shows a number of Frameworks, including QtCore.Framework.

My path currently includes both /Library/Frameworks/QtCore.framework and /Library/Frameworks/QtCore.Framework/Versions/4 – the former of which has a symbolic link to the component in the latter location. I've even tried it with /Library/Frameworks, though for obvious reasons I didn't expect that to help and it did not.

Other notes

I've tried the same thing with easy_install and by doing a pull from the Git repository and building manually using setup.py. As one would expect, they all return the same results.

Things I've already read

  • PyPi Installation walkthrough
  • Link error: QtCore.framework/Versions/4/QtCore for architecture x86_64 (Stack Overflow) – but it seems the linker is already asking for the framework, based on the error message I'm receiving.
  • Mac OS X: trying to link (ld) against a framework (Stack Overflow) – general info on linking against Frameworks; again, I seem to have this covered.
  • OSX deployment target confusion for 2.8.10 (CMake Mailing list) – looks like a very similar error, but I don't have direct control of the -isysroot flag using pip (or easy_install or even python setup.py) for one and for another, installation structure seems to have changed substantially between OS X 10.6 and 10.8. For example, /Developer no longer has the SDKs directory in it at all.
  • CMake bug report 0013765 – this one looks exactly the same, but appears to have been patched, so I'm not sure why it would still be causing me a problem.

Preferences

I'm not using a package manager like Homebrew or MacPorts at this time, and I'd prefer not to, either, as I need to get as close as possible to a platform-agnostic installation procedure for this (we're looking at doing cross-platform development; I'll ultimately be targeting Windows applications primarily, but need to see if it's workable on my Mac development machine outside a VM).

It needs to be able to work with a Python 3-style virtual environment (pyvenv) setup, as that's our preferred means of isolating our particular requirements.