Remove advice on bad Python linking
This is pathological and something that should be fixed in core, not by working around it. Closes https://github.com/Homebrew/legacy-homebrew/pull/45704.
This commit is contained in:
parent
883751d666
commit
116075dda9
@ -95,49 +95,6 @@ $ git clean -n # if this doesn't list anything that you want to keep, then
|
||||
$ git clean -f # this will remove untracked files
|
||||
```
|
||||
|
||||
### Python: `Segmentation fault: 11` on `import <some_python_module>`
|
||||
|
||||
A `Segmentation fault: 11` is in many cases due to a different Python
|
||||
executable used for building the software vs. the python you use to import the
|
||||
module. This can even happen when both python executables are the same version
|
||||
(e.g. 2.7.2). The explanation is that Python packages with C extensions (those
|
||||
that have `.so` files) are compiled against a certain python binary/library that
|
||||
may have been built with a different arch (e.g. Apple's python is still not a
|
||||
pure 64-bit build). Other things can go wrong, too. Welcome to the dirty
|
||||
underworld of C.
|
||||
|
||||
To solve this, you should remove the problematic formula with those python
|
||||
bindings and all of its dependencies.
|
||||
|
||||
- `brew rm $(brew deps --installed <problematic_formula>)`
|
||||
- `brew rm <problematic_formula>`
|
||||
- Also check the `$(brew --prefix)/lib/python2.7/site-packages` directory and
|
||||
delete all remains of the corresponding python modules if they were not
|
||||
cleanly removed by the previous steps.
|
||||
- Check that `which python` points to the python you want. Perhaps now is the
|
||||
time to `brew install python`.
|
||||
- Then reinstall `brew install <problematic_formula>`
|
||||
- Now start `python` and try to `import` the module installed by the
|
||||
\<problematic_formula\>
|
||||
|
||||
You can basically use any Python (2.x) for the bindings homebrew provides, but
|
||||
you can't mix. Homebrew formulae use a brewed Python if available or, if not
|
||||
so, they use whatever `python` is in your `PATH`.
|
||||
|
||||
### Python: `Fatal Python error: PyThreadState_Get: no current thread`
|
||||
|
||||
```
|
||||
Fatal Python error: PyThreadState_Get: no current thread
|
||||
Abort trap: 6
|
||||
```
|
||||
|
||||
This happens for `boost-python`, `pygtk`, `pygobject`, and related modules,
|
||||
for the same reason as described above. To solve this, follow the steps above.
|
||||
|
||||
If `boost` is your problem, note that Boost.Python is now provided by the
|
||||
`boost-python` formula. Removing any existing `boost` and `boost-python`,
|
||||
running `brew update`, and installing them anew should fix things.
|
||||
|
||||
### Python: easy-install.pth cannot be linked
|
||||
```
|
||||
Warning: Could not link <formulaname>. Unlinking...
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user