Updating readme with more python3 info

New entry in the FAQ for ImportError exceptions and the installation
sections now also recommend python3 dev headers.
This commit is contained in:
Val Markovic 2016-03-04 19:39:18 -08:00
parent 74f5e5ef34
commit 7b9b5ac688

View File

@ -217,7 +217,8 @@ process.
Install development tools and CMake: `sudo apt-get install build-essential cmake`
Make sure you have Python headers installed: `sudo apt-get install python-dev`.
Make sure you have Python headers installed: `sudo apt-get install python-dev
python3-dev`.
Compiling YCM **with** semantic support for C-family languages:
@ -275,7 +276,8 @@ process.
Install development tools and CMake: `sudo dnf install automake gcc gcc-c++ kernel-devel cmake`
Make sure you have Python headers installed: `sudo dnf install python-devel`.
Make sure you have Python headers installed: `sudo dnf install python-devel
python3-devel`.
Compiling YCM **with** semantic support for C-family languages:
@ -516,8 +518,8 @@ process.
the upstream compiled binaries. Random things may break. Save yourself the
hassle and use the upstream pre-built libclang.
4. **Compile the `ycm_core` libraries** that YCM needs. These libs
are the C++ engines that YCM uses to get fast completions.
4. **Compile the `ycm_core` library** that YCM needs. This library
is the C++ engine that YCM uses to get fast completions.
You will need to have `cmake` installed in order to generate the required
makefiles. Linux users can install cmake with their package manager (`sudo
@ -526,8 +528,8 @@ process.
it through [Homebrew][brew] with `brew install cmake`.
On a Unix OS, you need to make sure you have Python headers installed. On a
Debian-like Linux distro, this would be `sudo apt-get install python-dev`.
On Mac they should already be present.
Debian-like Linux distro, this would be `sudo apt-get install python-dev
python3-dev`. On Mac they should already be present.
On Windows, you need to download and install [python3][python-win-download].
Pick the version corresponding to your Vim architecture. You will also need
@ -2329,6 +2331,29 @@ option for details.
That's a very rare Vim bug most users never encounter. It's fixed in Vim
7.4.72. Update to that version (or above) to resolve the issue.
### I get `ImportError` exceptions that mention `PyInit_ycm_core` or
`initycm_core`
These errors are caused by building the YCM native libraries for Python 2 and
trying to load them into a Python 3 process (or the other way around).
For instance, if building for Python 2 but loading in Python 3:
```
ImportError: dynamic module does not define init function (PyInit_ycm_core)
```
If building for Python 3 but loading in Python 2:
```
ImportError: dynamic module does not define init function (initycm_core)
```
Setting the `g:ycm_path_to_python_interpreter` option to force the use of a
specific Python interpreter for `ycmd` is usually the easiest way to solve the
problem. Common values for that option are `/usr/bin/python` and
`/usr/bin/python3`.
### I get a linker warning regarding `libpython` on Mac when compiling YCM
If the warning is `ld: warning: path '/usr/lib/libpython2.7.dylib' following -L