0

I'm trying to install dependencies using pipenv, my Jenkinsfile is as the following

pipeline {

   agent any
  
    stages{
        stage('Install dependencies') {
            steps {
                    echo 'Install dependencies'
                    sh 'python3 --version'
                    sh 'pip3 install pipenv==2022.5.2'
                    sh 'pipenv --rm || exit 0'
                    sh 'pipenv install'
            }
        }

But I got the following error

[Pipeline] sh

  • pipenv install Creating a virtualenv for this project… Using /usr/bin/python3.8 (3.8.10) to create virtualenv… /usr/bin/python3: No module named pipenv.pew

Virtualenv location: Traceback (most recent call last): File "/usr/bin/pipenv", line 11, in load_entry_point('pipenv==11.9.0', 'console_scripts', 'pipenv')() File "/usr/lib/python3/dist-packages/pipenv/vendor/click/core.py", line 722, in call return self.main(*args, **kwargs) File "/usr/lib/python3/dist-packages/pipenv/vendor/click/core.py", line 697, in main rv = self.invoke(ctx) File "/usr/lib/python3/dist-packages/pipenv/vendor/click/core.py", line 1066, in invoke return _process_result(sub_ctx.command.invoke(sub_ctx)) File "/usr/lib/python3/dist-packages/pipenv/vendor/click/core.py", line 895, in invoke return ctx.invoke(self.callback, **ctx.params) File "/usr/lib/python3/dist-packages/pipenv/vendor/click/core.py", line 535, in invoke return callback(*args, **kwargs) File "/usr/lib/python3/dist-packages/pipenv/cli.py", line 349, in install core.do_install( File "/usr/lib/python3/dist-packages/pipenv/core.py", line 1755, in do_install ensure_project( File "/usr/lib/python3/dist-packages/pipenv/core.py", line 616, in ensure_project '{0}: Your Pipfile requires {1} {2}, ' TypeError: str returned non-string (type NoneType)

I'm using Python 3.8 and I'm running jenkins in my local machine (Ubuntu 20.04)

Is it a version issue or maybe I need to add specific jenkins plugins ? Any suggestion please

Smaillns
  • 2,540
  • 1
  • 28
  • 40

1 Answers1

0

I used the following commands

pipeline {
   agent { label 'python3'}

  
    stages{
        stage('Install dependencies') {
            steps {
                    echo('....Install dependencies & Create VirtualEnvironment ..')
                    sh 'pip3 install --user pipenv'
                    sh 'pipenv --rm || exit 0'
                    sh 'pipenv install --pre --dev'
            }
        }

Note: I'm using python3.9

My Pipfile is as the following

[[source]]
url = "https://pypi.org/simple"
verify_ssl = true
name = "pypi"

[packages]
pyspark= "==3.2.1"
boto3= "*"
botocore= "*"

[dev-packages]
pytest=                "==7.1.2"
pytest-spark=          "==0.6.0"
coverage=              "==4.5.3"
pylint=                "==2.13.9"
mypy=                  "==0.960"
pydocstyle=            "==6.1.1"

[requires]
python_version = "3.9"

[pipenv]
allow_prereleases = true

Smaillns
  • 2,540
  • 1
  • 28
  • 40