[PYTHON] The story of using circleci to build manylinux wheels

What is manylinux wheel

There is a wheel called manylinux that "works on almost all Linux distros". A wheel is a Python package that contains a compiled native library. In famous places, tensorflow distributes this many linux wheel. I will introduce circleci because it was the best for building this manylinux wheel.

Why circleci is suitable for creating manylinux wheels

--Artifact (wheel in my case) can be saved in CI service

So I'm building manylinux wheels on circleci.

Specifically, it is done like https://github.com/ecell/ecell4_base/blob/master/.circleci/config.yml.

In yml

- store_artifacts:
  path: /root/circle/wheelhouse

Is where you are doing it. As far as I know, I can't do this with travisci ** inside ** and I'm using circleci.

Since the wheel of manylinux is "works on almost all Linux" The operation test in this environment is not enough, and you may want to see the operation in multiple other distributions.

docker:
  - image: quay.io/pypa/manylinux2010_x86_64

Is CentOS6. (I won't explain why it's such an old version here.)

So for the time being, I want a place to put the package. That's where the Artifact save function comes in handy.

in conclusion

Yesterday [Osaka] CircleCI User Community Meetup # 2 helped everyone in the CircleCI Japan community and made me want to write this article. .. The community is important.

that's all.

Recommended Posts

The story of using circleci to build manylinux wheels
The story of pep8 changing to pycodestyle
I tried to extract and illustrate the stage of the story using COTOHA
I tried the common story of using Deep Learning to predict the Nikkei 225
The story of sys.path.append ()
The story of wanting to buy Ring Fit Adventure
The story of building Zabbix 4.4
[Apache] The story of prefork
The story of introducing jedi (python auto-completion package) to emacs
The story of copying data from S3 to Google's TeamDrive
After all, the story of returning from Linux to Windows
The story of creating a database using the Google Analytics API
Vertically visualize the amount corresponding to the vertices of networkx using Axes3D
The story of Python and the story of NaN
I tried to get the index of the list using the enumerate function
The story of participating in AtCoder
A story that struggled to handle the Python package of PocketSphinx
I tried to build the SD boot image of LicheePi Nano
I wanted to challenge the classification of CIFAR-10 using Chainer's trainer
The simplest way to build a Spleeter usage environment using Windows
The story of the "hole" in the file
[Pythonista] The story of making an action to copy selected text
The story of remounting the application server
Supplement to the explanation of vscode
The story of writing a program
The story of failing to update "calendar.day_abbr" on the admin screen of django
I tried to transform the face image using sparse_image_warp of TensorFlow Addons
I tried to get the batting results of Hachinai using image processing
zoom I tried to quantify the degree of excitement of the story at the meeting
I tried to estimate the similarity of the question intent using gensim's Doc2Vec
How to find out the number of CPUs without using the sar command
Try to get the road surface condition using big data of road surface management
Try using n to downgrade the version of Node.js you have installed
Trial to judge the timing of the progress display of the for loop using 0b1111 ~
Using COTOHA, I tried to follow the emotional course of Run, Melos!
The story of trying to push SSH_AUTH_SOCK obsolete on screen with LD_PRELOAD
The story of using mysqlclient because PyMySQL cannot be used with Django 2.2
How to build an application from the cloud using the Django web framework
I tried the common story of predicting the Nikkei 225 using deep learning (backtest)
The story of an error in PyOCR
Script to change the description of fasta
10 methods to improve the accuracy of BERT
How to check the version of Django
The story of verifying the open data of COVID-19
The story of making Python an exe
The story of making an immutable mold
The story of manipulating python global variables
The story of trying deep3d and losing
The story of deciphering Keras' LSTM model.predict
The story of blackjack A processing (python)
I tried to predict the deterioration of the lithium ion battery using the Qore SDK
I tried to notify the update of "Hamelin" using "Beautiful Soup" and "IFTTT"
[Python] I tried to judge the member image of the idol group using Keras
The story of IPv6 address that I want to keep at a minimum
[Circuit x Python] How to find the transfer function of a circuit using Lcapy
How to build an environment for using multiple versions of Python on Mac
Until you try to let DNN learn the truth of the image using Colab
When using PyQtGraph with Python Pyside, pay attention to the order of import
Save an array of numpy to a wav file using the wave module
Build a python environment to learn the theory and implementation of deep learning
An introduction to data analysis using Python-To increase the number of video views-