Обновление Python с 3.5 до 3.7; мигрирующие модули [dубликат]

Необходимость в файлах заголовков возникает из-за ограничений, которые компилятор знает для информации о типе для функций и / или переменных в других модулях. Скомпилированная программа или библиотека не включает информацию о типе, необходимую компилятору для привязки к любым объектам, определенным в других единицах компиляции.

Чтобы компенсировать это ограничение, C и C ++ допускают объявления и эти объявления могут быть включены в модули, которые используют их с помощью директивы #include препроцессора.

Языки, такие как Java или C #, с другой стороны, включают информацию, необходимую для привязки к выходу компилятора (класс-файл или сборка ). Следовательно, больше нет необходимости поддерживать автономные декларации, которые должны быть включены клиентами модуля.

Причина того, что информация привязки, не включаемая в вывод компилятора, проста: она не нужна во время выполнения (проверка любого типа происходит во время компиляции). Это просто потеряло бы пространство. Помните, что C / C ++ происходит с того момента, когда размер исполняемого файла или библиотеки имеет значение совсем немного.

1
задан Perica Zivkovic 22 August 2009 в 13:06
поделиться

3 ответа

Как говорит Винай, есть некоторые части общих установок, которые нельзя просто скопировать. Кроме того, имейте в виду, что скрипты setup.py могут выполнять произвольную работу, например, они могут тестировать версию Python и изменять, как они устанавливают вещи, или могут записывать записи в реестре или создавать файлы .rc и т. Д. [ ! d0]

Я согласен: переустановите пакеты.

Кроме того, еще одно преимущество для повторной установки: если вы только что закончили, просто потеряете первый раз, когда что-то таинственным образом не сработает, и вы попытаетесь его отладить. сделайте это, когда вам нужен пакет, тогда вы не потрудитесь переустановить пакеты, которые вам больше не нужны.

1
ответ дан Ned Batchelder 16 August 2018 в 10:56
поделиться

Используйте Portable Python , тогда вы можете иметь все на своем USB-накопителе. Вся ваша среда разработки всегда находится в вашем кармане, просто подключите ее к ЛЮБОЙ ПК и начните кодирование.

Вы даже можете иметь несколько версий Portable Python на одном USB-накопителе и запускать их бок о бок, что помогает, если вы например заняты переходом на Python 3. * или просто хотят экспериментировать.

0
ответ дан Perica Zivkovic 16 August 2018 в 10:56
поделиться

Если они чистые Python, то в теории вы можете просто скопировать их из одного каталога Lib \ site-packages в другой. Однако это не будет работать для каких-либо пакетов, которые включают расширения C (так как их необходимо перекомпилировать заново для каждой версии Python). Вам также необходимо рассмотреть, например. .pth файлы, которые были созданы пакетами установки, удаление ранее существовавших файлов .pyc и т. д.

Я бы посоветовал просто переустановить пакеты .

2
ответ дан Vinay Sajip 16 August 2018 в 10:56
поделиться
  • 1
    +1: Сохраните полный список. Если вы можете использовать easy_install , ваш полный список может быть простым сценарием easy_install . – S.Lott 22 August 2009 в 12:26
Другие вопросы по тегам:

Похожие вопросы: