I have question regarding installation of requirements.txt in bitbucket pipeline -
in case new versions of libraries are released - often deployment fails because of incompatibility new versions with theirs dependent libraries - or even between 2 new released versions of used libraries.
How to deal with whole environment to avoid fails as well as to avoid hardcoding of versions (theoretically not good to have very old versions of libraries, and manually install newer versions is not a good solution too, imo)
requirements.txt:
requests
psycopg2-binary
facebook_business==16.0.5
urllib3
fsspec
s3fs
pandas
sentry-sdk
moto
gspread
oauth2client
google-auth-httplib2
google-auth-oauthlib
pipeline:
steps:
- tests: &tests
name: tests
image: python:3.9
script:
- pip3 install -r test/requirements.txt
- python -m unittest discover -v
in this case installs newest versions of everything besides facebook_business, now we need facebook_business = 18.0.5 - all the time track this manually is not good solution
what would be a good solution?