Я видел похожие вопросы, но ни один из них не дал ответов на мою проблему. Я недавно обновлен до v3.5 питона с помощью MacPorts на Mac OS X. Установка пакетов питона отлично работает, если есть действительный Macport:Ошибка при установке пакетов python, которые требуют .so-файлов после обновления до macports python 3.5
sudo port install py35-numpy
Однако, если я пытаюсь установить питон пакеты, которые требуют .so файлов с помощью PIP3 , Я получаю ошибки. Например, нет порта pystan. Во-первых, установить пип
sudo port install py35-pip
Затем я использую пип установить pystan в мой каталог Python 3.5
sudo pip3 install --target=/opt/local/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/ pystan
Installing collected packages: Cython, numpy, pystan
Successfully installed Cython-0.24 numpy-1.11.1 pystan-2.9.0.0
Не то, что он на самом деле не установить Cython или NumPy, потому что они уже были там. Но тогда, когда я пытаюсь запустить pystan:
Nate$ ipython
Python 3.5.2 (default, Jun 27 2016, 03:10:38)
Type "copyright", "credits" or "license" for more information.
IPython 5.0.0 -- An enhanced Interactive Python.
? -> Introduction and overview of IPython's features.
%quickref -> Quick reference.
help -> Python's own help system.
object? -> Details about 'object', use 'object??' for extra details.
In [1]: import pystan
---------------------------------------------------------------------------
ImportError Traceback (most recent call last)
<ipython-input-1-7b354c723dbb> in <module>()
----> 1 import pystan
/opt/local/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/pystan/__init__.py in <module>()
7 import logging
8
----> 9 from pystan.api import stanc, stan
10 from pystan.misc import read_rdump, stan_rdump
11 from pystan.model import StanModel
/opt/local/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/pystan/api.py in <module>()
10 import hashlib
11
---> 12 import pystan._api # stanc wrapper
13 from pystan._compat import string_types
14 from pystan.model import StanModel
ImportError: dlopen(/opt/local/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/pystan/_api.so, 2): Symbol not found: _PyBaseString_Type
Referenced from: /opt/local/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/pystan/_api.so
Expected in: flat namespace
in /opt/local/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/pystan/_api.so
Я видел ту же ошибку, когда я попытался установить NumPy через пип, и тот же один с netCDF4.
In [2]: import netCDF4
---------------------------------------------------------------------------
ImportError Traceback (most recent call last)
<ipython-input-2-f731da2de255> in <module>()
----> 1 import netCDF4
/opt/local/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/netCDF4/__init__.py in <module>()
1 # init for netCDF4. package
2 # Docstring comes from extension module _netCDF4.
----> 3 from ._netCDF4 import *
4 # Need explicit imports for names beginning with underscores
5 from ._netCDF4 import __doc__, __pdoc__
ImportError: dlopen(/opt/local/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/netCDF4/_netCDF4.so, 2): Symbol not found: _PyCObject_Type
Referenced from: /opt/local/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/netCDF4/_netCDF4.so
Expected in: flat namespace
in /opt/local/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/netCDF4/_netCDF4.so
Что случилось с файлами .so? Или, если на то пошло, мой компьютер?
Вы пробовали вызывать 'pip3 install' без опции' --target'? Я ожидал, что до тех пор, пока вы используете 'pip3', установленный MacPorts, он будет устанавливать вещи в нужном месте. Интересно, работает ли с помощью '--target' какие-то неожиданные подкаталоги или что-то в этом роде. – jb326
@ jb326, вы, вероятно, правы. См. Ответ ниже. – Nate