Ошибка в Python импортировать Под в виртуальное окружение
Я получаю следующую ошибку при импорте ctypes
, но только внутри моей виртуальной среды (Python 3.4).
>>> import ctypes
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python3.4/ctypes/__init__.py", line 7, in <module>
from _ctypes import Union, Structure, Array
ImportError: /home/user/Code/Python/venvs/main/lib/python3.4/lib-dynload/_ctypes.cpython-34m-x86_64-linux-gnu.so: undefined symbol: _PyTraceback_Add
pip замораживание virtualenv:
beautifulsoup4==4.4.0
blessings==1.6
Django==1.8.4
image==1.4.1
Pillow==2.9.0
wheel==0.24.0
как это исправить? Он работает на основном интерпретаторе python 3.4...
2 ответов
As eryksun описано, проблема, похоже, связана с известная ошибка в 3.4.* версии Python. Мне удалось решить его в Ubuntu 14.04 путем обновления до Python 3.5 после ответ:
sudo apt-get install software-properties-common
sudo add-apt-repository ppa:fkrull/deadsnakes
sudo apt-get update
sudo apt-get install python3.5 python3.5-dev python3.5-venv
# create a python3.5 virtualenv
python3.5 -m venv venv
. ./venv/bin/activate
python -c 'import ctypes' # throws no errors as opposed to before
правильным решением, где вы не зависите от сторонних PPAs, было бы обновление до версии ОС с более новой версией Python:)
попробуйте уничтожить и воссоздать виртуальную среду. В моем случае я создал виртуальную среду перед установкой dependancies / minor upgrade, и хотя виртуальный env имел символические ссылки на более новые файлы, использовалась копия старого интерпретатора младших версий.