X-Git-Url: https://git.madduck.net/etc/vim.git/blobdiff_plain/702e4591764e00f0dcf67d23cec208786592c14f..2082a325fdd14f0aabd88f7f12a20f9fb085c538:/README.md diff --git a/README.md b/README.md index d0148b5..8ff893c 100644 --- a/README.md +++ b/README.md @@ -644,8 +644,11 @@ file hierarchy. ### Emacs -Use [proofit404/blacken](https://github.com/proofit404/blacken) or -[Elpy](https://github.com/jorgenschaefer/elpy). +Options include the following: + +- [purcell/reformatter.el](https://github.com/purcell/reformatter.el) +- [proofit404/blacken](https://github.com/proofit404/blacken) +- [Elpy](https://github.com/jorgenschaefer/elpy). ### PyCharm/IntelliJ IDEA @@ -820,6 +823,55 @@ default. On macOS with Homebrew run: `brew install vim`. When building Vim from use: `./configure --enable-python3interp=yes`. There's many guides online how to do this. +**I get an import error when using _Black_ from a virtual environment**: If you get an +error message like this: + +```text +Traceback (most recent call last): + File "", line 63, in + File "/home/gui/.vim/black/lib/python3.7/site-packages/black.py", line 45, in + from typed_ast import ast3, ast27 + File "/home/gui/.vim/black/lib/python3.7/site-packages/typed_ast/ast3.py", line 40, in + from typed_ast import _ast3 +ImportError: /home/gui/.vim/black/lib/python3.7/site-packages/typed_ast/_ast3.cpython-37m-x86_64-linux-gnu.so: undefined symbool: PyExc_KeyboardInterrupt +``` + +Then you need to install `typed_ast` and `regex` directly from the source code. The +error happens because `pip` will download [Python wheels](https://pythonwheels.com/) if +they are available. Python wheels are a new standard of distributing Python packages and +packages that have Cython and extensions written in C are already compiled, so the +installation is much more faster. The problem here is that somehow the Python +environment inside Vim does not match with those already compiled C extensions and these +kind of errors are the result. Luckily there is an easy fix: installing the packages +from the source code. + +The two packages that cause the problem are: + +- [regex](https://pypi.org/project/regex/) +- [typed-ast](https://pypi.org/project/typed-ast/) + +Now remove those two packages: + +```console +$ pip uninstall regex typed-ast -y +``` + +And now you can install them with: + +```console +$ pip install --no-binary :all: regex typed-ast +``` + +The C extensions will be compiled and now Vim's Python environment will match. Note that +you need to have the GCC compiler and the Python development files installed (on +Ubuntu/Debian do `sudo apt-get install build-essential python3-dev`). + +If you later want to update _Black_, you should do it like this: + +```console +$ pip install -U black --no-binary regex,typed-ast +``` + ### Visual Studio Code Use the