Сборка python 3.6.6 из исходного кода на win10

Я скачал исходный код python 3.6.6 отсюда ... https://www.python.org/downloads/release/python-366/ ... и следовал инструкциям по сборке в Windows (запустите ../PCbuild/build.bat). Python компилируется и, похоже, работает (забавно и страшно: при извлечении внешних файлов он фактически загружает python-3.7.0 в качестве зависимости ...: /). Однако похоже, что сборка каким-то образом «на месте», а двоичные файлы попадают в какую-то подпапку источника (../PCbuild/amd64/python.exe). Это означает, что у меня остался смешанный исходный и скомпилированный код вместо какого-то чистого / экономичного и развертываемого пакета.

  • Могу ли я каким-то образом предоставить «--prefix=/target/build/path» для определения целевого местоположения для сборки, как в Linux?
  • есть ли способ удалить все файлы / папки src и оставить только необходимые файлы / папки (../lib, ../include и т. д.).

Или вообще есть способ сделать процесс сборки более похожим на Linux?

Спасибо за вашу помощь, Максимум

--prefix=/target/build/path ложный, --prefix=/target/INSTALL/path. «и двоичные файлы попадают в какую-то подпапку источника»: то же самое происходит на каждой платформе.
CristiFati 11.09.2018 08:36
2
1
1 047
1

Ответы 1

Build.bat от PCBuild предназначен для разработчиков, то есть для тестирования. То, что вы хотите, находится под \Tools\msi\buildrelease.bat. Это создает подкаталог в \PCBuild\, в котором размещаются все файлы msi, cab и exe, готовые для последующей установки. Согласно readme, похоже, нет возможности упаковать все эти файлы в один файл .exe, как в конечном итоге делают все установщики, но другой вариант находится в \Tools\msi\build.bat, у которого есть возможность упаковки (а именно build.bat --pack). «Но», в файле readme говорится, что buildrelease.bat следует использовать для официального выпуска. Преимущество этого заключается в том, что Pyhton будет оптимизирован с использованием PGO для вашего собственного оборудования. Я также пытаюсь выполнить компиляцию из исходного кода, используя этот метод, но у меня возникает проблема с повторяющейся ошибкой (и другими):

PGO run did not succeed (no python36!*.pgc files) and there is no data to merge [E:\RepoGiT\3.6\PCbuild\pythoncore.vcxproj]

Итак, если вы пойдете по этому маршруту и ​​обнаружите эту или другие ошибки, отправьте отчет об ошибке в средство отслеживания ошибок Python страница в Интернете. А еще лучше, если вы обнаружите ошибки и способы их устранения, сообщите об этом здесь!

Кстати, похоже, что команда разработчиков больше сосредоточена на установке Linux. Вы можете получить ответ, если сообщите об ошибке с помощью Windows, но по моему личному опыту вы получите только его подтверждение. Фактическое отслеживание ошибок встречается гораздо реже, возможно, потому, что количество пользователей, создающих из исходных кодов на машине с Windows, намного меньше, чем количество пользователей, компилирующих на компьютеры на базе Linux. Я думаю, что предполагается, что большинство пользователей Windows устанавливают pyhton, используя предоставленные официальные установщики. Может быть, если будет задействовано больше людей, использующих окна, мы сможем добиться большего присутствия там.

J. Ramos 08.01.2019 22:55

Другие вопросы по теме