ниже вы сначала найдете сводку и пропустите подсказку к основной проблеме, а затем длинную версию со всем. Это мой первый вопрос здесь, и я надеюсь, что не нарушил никаких правил, делая пост таким длинным и имея несколько вопросов ...
Я рад любому ответу по любому из вопросов !!
Редактировать: я сократил весь пост и вырезал все "вопросы в пути", так что теперь речь идет только о трудностях nlopt
Short
Установка nlopt через homebrew не работает, поскольку файлы отсутствуют. Информацию об этой части ТОЛЬКО пропустите к жирному «Основные проблемы».
Предупреждение: Я довольно новичок во всем этом с оболочкой, homebrew, et c. так что я не очень знаком с именами и терминами. Пожалуйста, будьте терпеливы со мной:)
Long
Переустановка моего "старого" MacBook с нуля Мне пришлось все заново установить и много читать о том, как все работает. Всю дорогу, читая бесчисленные посты и руководства, я выучил столько, сколько мне казалось - и как можно меньше из-за количества. Теперь я застрял.
Для проекта, над которым я работаю, мне нужны Python 3, CobraPy и NLopt. Это то, что я сделал до сих пор (я перечисляю все свои команды и некоторые полученные предупреждения b c Я не знаю, что может стать актуальным):
Я использую zsh оболочки, и это все происходит в ~, если не указано иное. Кроме того, я всегда устанавливал все вещи, которые называются необходимыми в документации, или в качестве меры предосторожности, если об этом говорится в руководствах (на которые у меня больше нет ссылок b c Я работаю над всем этим, в том числе больше недели))
- Установить XCode
- через AppStore
xcode-select --install
Установить домашний напиток
% ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
% brewup # alias brewup='brew update; brew upgrade; brew cleanup; brew doctor'
Pyenv
% brew install pyenv
==> Installing dependencies for pyenv: autoconf, openssl@1.1, pkg-config and readline
% echo -e 'if command -v pyenv 1>/dev/null 2>&1; then\n eval "$(pyenv init -)"\nfi' >> ~/.zshrc
% source ~/.zshrc
подготовка Python установки
% brew install zlib sqlite sqlite3 xz openssl readline
% brewup
# and bc someone said it's necessary for no problems with build:
% export LDFLAGS="-L/usr/local/opt/zlib/lib -L/usr/local/opt/sqlite/lib"
% export CPPFLAGS="-I/usr/local/opt/zlib/include -I/usr/local/opt/sqlite/include"
Python
% brew upgrade pyenv
% pyenv install 3.8.1
% pyenv global 3.8.1
% pip install --upgrade pip
и подтвердил, что он работает с version
, versions
, which python
, python -V
, pip -V
Pyenv-virtualenv & Extras
% brewup
% brew install pyenv-virtualenv
% echo -e 'if which pyenv-virtualenv-init > /dev/null; then eval "$(pyenv virtualenv-init -)"; fi' >> ~/.zshrc
и тестирование путем создания виртуальной среды, установите его локально в качестве стандартного в папке проекта с помощью pyenv local VE
и
(VE) folder/project % pip install numpy
(VE) folder/project % sudo pip install cobra
~ % brew install grep findutils # bc "good for cobra"
NLopt
% brew install cmake
% brew install nlopt
Реальных проблем пока нет. Все вроде нормально.
И тогда я начинаю пытаться завершить sh установку NLopt с инструкциями из документации / README.md:
Основные проблемы
продолжение для nlopt после % brew install nlopt
~ % cd /usr/local/Cellar/nlopt/2.6.1
Cellar/nlopt/2.6.1 % mkdir build
Cellar/nlopt/2.6.1 % cd build
nlopt/2.6.1/build % cmake ..
CMake Error: The source directory "/usr/local/Cellar/nlopt/2.6.1" does not appear to contain CMakeLists.txt.
Specify --help for usage, or press the help button on the CMake GUI.
После еще нескольких слепых попыток, даже в nlopt / 2.6.1 / lib / cmake / nlopt, я обнаружил, что при установке NLopt в доморощенной среде много вещей отсутствует по сравнению с файлами git (см. GitHub NLopt ) - включая папки и необходимые файлы CMakeLists.txt:
Cellar/nlopt/2.6.1 % ls -1
AUTHORS
COPYING
COPYRIGHT
ChangeLog
INSTALL_RECEIPT.json
NEWS.md
README.md
TODO
include
lib
share
Вопрос A: я сделал что-то не так ? Я искал людей с похожими проблемами, но не смог найти помощь.
Вопрос B: можно ли просто загрузить NLopt вручную, поместить все файлы в каталог выше ( заменив вещи там (кроме файла .brew)), просто проигнорируйте, что доморощенный дурак, а затем выполните окончательную калибровку с помощью cmake?
Независимо от того, как мы это сработаем: I прочитайте что-нибудь об этом, если вы не используете т Затем система python, после выполнения команды cmake, вы должны заново связать определенные вещи и создать их с помощью nlopt.
Вопрос C: когда я помещаю новые ссылки в cmake, должен ли я ссылаться на версию Python, с которой я хочу работать (здесь 3.8.1), или я должен связать прокладку из pyenv? И в первом случае мне придется перепривязывать каждый раз, когда я обновляюсь до новой версии (поэтому я надеюсь, что второй вариант верен)?
Повторная проверка снова, я также нашел это side PyPI nlopt , который «поддерживает Python версии 3.6» и «устанавливает цепочку инструментов для создания колес pypi для библиотеки NLOpt». Этот NLopt устанавливается через pip
. Сейчас:
Вопрос D: Означает ли это, что это также работает, если я установил pip в моем VE? И нужно ли его активировать через cmake et c?
B C, это относится к документации по использованию NLopt с Python, но ничего не говорит о настройке после установки pip.
Я не знаю, что делать в данный момент: что будет просто заполнять и загружать мою систему и что позволит мне начать работу над моим проектом? Заранее спасибо :)