Не удалось импортировать файл .so, даже если sys.path был изменен - PullRequest
0 голосов
/ 08 марта 2019

Я выполнил python setup.py build_ext --inplace на одной локальной машине и успешно импортировал встроенный модуль с именем stocc в тот же каталог. Когда я поместил папку build и файл .so в github и клонировал ее на другой локальный компьютер, мне не удалось импортировать этот модуль в тот же каталог. Есть две вещи, которые я не понимаю:

  1. Что произошло, кроме генерации скомпилированных файлов, когда я сделал python setup.py build_ext --inplace? Я был на самом деле удивлен, что мне не нужно было изменять sys.path для загрузки модуля.
  2. Когда я пытался импортировать модуль на другой локальный компьютер, то, что я делал специально, было сначала
import sys
sys.path.append($dir that contains the .so and build/$)
import stocc

Тогда я получил ошибку

ModuleNotFoundError: No module named 'stocc'

Даже если я указал, где искать файл .so, python не смог загрузить модуль. Почему?

Имя файла .so: stocc.cpython-37m-x86_64-linux-gnu.so. Я собрал модуль в Ubuntu и попытался загрузить его в macOS.

...