I compiling python from source tar. All works good, but tests running 2 hours and two times. How to bypass these tests?
0:16:20 [178/405] test_inspect 0:16:26 [179/405] test_int 0:16:27 [180/405] test_int_literal 0:16:27 [181/405] test_io 0:18:18 [182/405] test_ioctl -- test_io passed in 1 min 51 sec 0:18:19 [183/405] test_ipaddress 0:18:22 [184/405] test_isinstance 0:18:23 [185/405] test_iter 0:18:24 [186/405] test_iterlen 0:18:25 [187/405] test_itertools 0:19:09 [188/405] test_json -- test_itertools passed in 44 sec 0:19:30 [189/405] test_keyword
As result
make 7724,86s user 188,63s system 101% cpu 2:10:18,93 total
I make its distribution like this
PYTHON_VERSION = 3.6.1 PYTHON_URL = https://www.python.org/ftp/python/${PYTHON_VERSION}/Python-${PYTHON_VERSION}.tar.xz wget -O dl/Python-${PYTHON_VERSION}.tar.xz ${PYTHON_URL} cd dl tar xf Python-${PYTHON_VERSION}.tar.xz mkdir -p dl/Python-${PYTHON_VERSION}-build/ cd Python-${PYTHON_VERSION} ./configure --enable-optimizations --prefix=$$(pwd)-build --cache-file=$$(pwd)/cache-file
This commands runs tests twice:
make -C dl/Python-${PYTHON_VERSION} -j8 make -C dl/Python-${PYTHON_VERSION} -j8 install
p.s. This is part of another make file.
If you want a release build with all optimizations active (LTO, PGO, etc), please run ./configure --enable-optimizations . what does --enable-optimizations do? This used to add about 30 minutes to a compile of CPython, but as of Python3. 8, it now runs a small subset of the regression tests for profiling.
PyPi is the official Python repository where all Python packages are stored. You can think of it as the Github for Python Packages. To make your Python package available to people around the world, you'll need to have an account with PyPi.
The configure option --enable-optimizations enables running test suites to generate data for profiling Python. The resulting python binary has better performance in executing python code. Improvements noted here
From configure help: --enable-optimizations Enable expensive optimizations (PGO, etc). Disabled by default.
From wikipedia
profile-guided optimisation uses the results of profiling test runs of the instrumented program to optimize the final generated code.
In short, you should not skip tests when using --enable-optimizations as the data required for profiling is generated by running tests. You can run make -j8 build_all
followed by make -j8 install
to skip tests once(the tests would still run with install
target), but that would defeat the purpose. You can instead drop the configure flag for better build times.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With