diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 336027440ceace5b944fb58daa8514323a9fea39..1e3717fd7b927ba0c9f2fefa7ca3852b6f55bd26 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -1,5 +1,5 @@
 variables:
-  CONAN_VERSION: "1.59.0"
+  CONAN_VERSION: "2.0.2"
   PYTHON_VERSION: "3.6.13"
 
 workflow:
@@ -16,16 +16,21 @@ stages:
 .build:
   stage: build
   script:
+    # Install prerequisites for pyinstaller
+    - yum install -y zlib-devel
     # Install python 3
     - curl -s -L -o ${PYTHON_ROOT}.zip https://gitlab.synchrotron-soleil.fr/software-control-system/devtools/python3/-/jobs/artifacts/3.6.13/download?job=${PLATFORM}
     - unzip -q ${PYTHON_ROOT}.zip -d ${CI_PROJECT_DIR}
     - rm -f ${PYTHON_ROOT}.zip
-    # Install conan
-    - ${CI_PROJECT_DIR}/${PYTHON_ROOT}/bin/python -m pip install -q --no-cache-dir --prefix=${CI_PROJECT_DIR}/${CONAN_ROOT} conan==${CONAN_VERSION} conan-package-tools
-    # Fix python shebang to make it independent of install path
-    - grep -I -r -l  "^#\!${CI_PROJECT_DIR}/${PYTHON_ROOT}/bin/python.*$" ${CI_PROJECT_DIR}/${CONAN_ROOT} | xargs sed -i '1c\#\!/usr/bin/env python'
-    # Clean pycache
-    - find ${CI_PROJECT_DIR}/${CONAN_ROOT} -iname __pycache__ -print0 | xargs -0 rm -rf
+    - export PATH=${CI_PROJECT_DIR}/${PYTHON_ROOT}/bin:$PATH
+    - export LD_LIBRARY_PATH=${CI_PROJECT_DIR}/${PYTHON_ROOT}/lib
+    # Install source of conan
+    - curl -s -L -o conan-${CONAN_VERSION}.zip https://github.com/conan-io/conan/archive/refs/tags/${CONAN_VERSION}.zip
+    - unzip -q conan-${CONAN_VERSION}.zip
+    - cd ${CI_PROJECT_DIR}/conan-${CONAN_VERSION}
+    - pip install -e .
+    - python pyinstaller.py
+    - mv ${CI_PROJECT_DIR}/conan-${CONAN_VERSION}/pyinstaller/dist/conan ${CI_PROJECT_DIR}/${CONAN_ROOT}
   artifacts:
     name: ${CONAN_ROOT}
     paths:
@@ -34,14 +39,7 @@ stages:
 .test:
   stage: test
   script:
-    # Install python 3
-    - curl -s -L -o ${PYTHON_ROOT}.zip https://gitlab.synchrotron-soleil.fr/software-control-system/devtools/python3/-/jobs/artifacts/3.6.13/download?job=${PLATFORM}
-    - unzip -q ${PYTHON_ROOT}.zip -d ${CI_PROJECT_DIR}
-    - rm ${PYTHON_ROOT}.zip
-    # Test 
-    - export PATH=${CI_PROJECT_DIR}/${PYTHON_ROOT}/bin:$PATH
-    - export PYTHONPATH=${CI_PROJECT_DIR}/${CONAN_ROOT}/lib/python3.6/site-packages
-    - ${CI_PROJECT_DIR}/${CONAN_ROOT}/bin/conan --version | grep ${CONAN_VERSION}
+    - ${CI_PROJECT_DIR}/${CONAN_ROOT}/conan --version | grep ${CONAN_VERSION}
 
 .package:
   stage: package
diff --git a/README.md b/README.md
index a0d4abf3e73e6b936a3264ce8e1bbe682b4f4638..ec87317bbbed5b5e037ba698c553187417ead3e1 100644
--- a/README.md
+++ b/README.md
@@ -1,7 +1,7 @@
 # Conan
 
-Pipeline to create Conan package for Python 3.6.13.
+Pipeline to create Conan package
 
 Conan 1.59.0 for:
-* Linux 32 bits: [conan-1.59.0-linux-python-3.6.13-i686.zip](https://gitlab.synchrotron-soleil.fr/software-control-system/devtools/conan/-/jobs/artifacts/python-3.6.13/download?job=linux-i686)
-* Linux 64 bits: [conan-1.59.0-linux-python-3.6.13-x86_64.zip](https://gitlab.synchrotron-soleil.fr/software-control-system/devtools/git/-/jobs/artifacts/python-3.6.13//download?job=linux-x86_64)
+* Linux 32 bits: [conan-1.59.0-linux-i686.zip](https://gitlab.synchrotron-soleil.fr/software-control-system/devtools/conan/-/jobs/artifacts/1.59.0/download?job=linux-i686)
+* Linux 64 bits: [conan-1.59.0-linux-x86_64.zip](https://gitlab.synchrotron-soleil.fr/software-control-system/devtools/git/-/jobs/artifacts/1.59.0/download?job=linux-x86_64)