diff --git a/Dockerfile b/Dockerfile index 136628c5..25ddc2b7 100644 --- a/Dockerfile +++ b/Dockerfile @@ -60,31 +60,6 @@ RUN apt-get install --no-install-recommends -y \ RUN apt-get remove libdc1394-22-dev RUN pip install --upgrade pip RUN pip install setuptools -RUN pip install -U \ - appsettings \ - exifread \ - gpxpy \ - loky \ - PyYAML==3.13 \ - repoze.lru \ - xmltodict \ - rasterio \ - attrs==19.1.0 \ - pyodm==1.5.2b1 \ - Pillow \ - networkx \ - scipy==1.2.1 \ - numpy==1.15.4 \ - shapely \ - pyproj==2.2.2 \ - psutil \ - joblib - -RUN pip install --upgrade cryptography && python -m easy_install --upgrade pyOpenSSL - -ENV PYTHONPATH="$PYTHONPATH:/code/SuperBuild/install/lib/python2.7/dist-packages" -ENV PYTHONPATH="$PYTHONPATH:/code/SuperBuild/src/opensfm" -ENV LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/code/SuperBuild/install/lib" # Prepare directories RUN mkdir /code @@ -102,6 +77,14 @@ COPY /SuperBuild/cmake/ /code/SuperBuild/cmake/ COPY /SuperBuild/CMakeLists.txt /code/SuperBuild/CMakeLists.txt COPY docker.settings.yaml /code/settings.yaml COPY VERSION /code/VERSION +COPY requirements.txt /code/requirements.txt + +RUN pip install -r requirements.txt +RUN pip install --upgrade cryptography && python -m easy_install --upgrade pyOpenSSL + +ENV PYTHONPATH="$PYTHONPATH:/code/SuperBuild/install/lib/python2.7/dist-packages" +ENV PYTHONPATH="$PYTHONPATH:/code/SuperBuild/src/opensfm" +ENV LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/code/SuperBuild/install/lib" # Compile code in SuperBuild and root directories RUN cd SuperBuild \ diff --git a/configure.sh b/configure.sh index 1a09cefb..94f9a653 100755 --- a/configure.sh +++ b/configure.sh @@ -72,24 +72,7 @@ install() { libboost-date-time-dev \ libboost-thread-dev - pip install -U PyYAML==3.13 \ - exifread \ - gpxpy \ - xmltodict \ - appsettings \ - loky \ - repoze.lru \ - rasterio \ - attrs==19.1.0 \ - pyodm==1.5.2b1 \ - Pillow \ - networkx \ - scipy==1.2.1 \ - numpy==1.15.4 \ - shapely \ - pyproj==2.2.2 \ - psutil \ - joblib + pip install -r "${RUNPATH}/requirements.txt" # Fix: /usr/local/lib/python2.7/dist-packages/requests/__init__.py:83: RequestsDependencyWarning: Old version of cryptography ([1, 2, 3]) may cause slowdown. pip install --upgrade cryptography diff --git a/portable.Dockerfile b/portable.Dockerfile index 5b55bbaa..69ad2a76 100644 --- a/portable.Dockerfile +++ b/portable.Dockerfile @@ -60,31 +60,6 @@ RUN apt-get install --no-install-recommends -y \ RUN apt-get remove libdc1394-22-dev RUN pip install --upgrade pip RUN pip install setuptools -RUN pip install -U \ - appsettings \ - exifread \ - gpxpy \ - loky \ - PyYAML==3.13 \ - repoze.lru \ - xmltodict \ - rasterio \ - attrs==19.1.0 \ - pyodm==1.5.2b1 \ - Pillow \ - networkx \ - scipy==1.2.1 \ - numpy==1.15.4 \ - shapely \ - pyproj==2.2.2 \ - psutil \ - joblib - -RUN pip install --upgrade cryptography && python -m easy_install --upgrade pyOpenSSL - -ENV PYTHONPATH="$PYTHONPATH:/code/SuperBuild/install/lib/python2.7/dist-packages" -ENV PYTHONPATH="$PYTHONPATH:/code/SuperBuild/src/opensfm" -ENV LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/code/SuperBuild/install/lib" # Prepare directories RUN mkdir /code @@ -102,6 +77,14 @@ COPY /SuperBuild/cmake/ /code/SuperBuild/cmake/ COPY /SuperBuild/CMakeLists.txt /code/SuperBuild/CMakeLists.txt COPY docker.settings.yaml /code/settings.yaml COPY VERSION /code/VERSION +COPY requirements.txt /code/requirements.txt + +RUN pip install -r requirements.txt +RUN pip install --upgrade cryptography && python -m easy_install --upgrade pyOpenSSL + +ENV PYTHONPATH="$PYTHONPATH:/code/SuperBuild/install/lib/python2.7/dist-packages" +ENV PYTHONPATH="$PYTHONPATH:/code/SuperBuild/src/opensfm" +ENV LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/code/SuperBuild/install/lib" # Replace g++ and gcc with our own scripts COPY /docker/ /code/docker/ diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 00000000..08da2df0 --- /dev/null +++ b/requirements.txt @@ -0,0 +1,66 @@ +aenum==2.1.2 +affine==2.2.2 +appsettings==0.8 +asn1crypto==0.24.0 +attrs==19.1.0 +autobahn==0.10.3 +certifi==2019.3.9 +cffi==1.12.3 +chardet==3.0.4 +Click==7.0 +click-plugins==1.1.1 +cligj==0.5.0 +cloudpickle==1.1.1 +cryptography==2.7 +cycler==0.9.0 +decorator==4.4.0 +enum34==1.1.2 +ExifRead==2.1.2 +futures==3.0.5 +GDAL==2.2.2 +gpxpy==1.3.5 +idna==2.8 +ipaddress==1.0.16 +joblib==0.13.2 +loky==2.5.1 +lz4==0.7.0 +matplotlib==1.5.1 +mpi4py==1.3.1 +msgpack-python==0.4.6 +networkx==2.2 +numpy==1.15.4 +piexif==1.1.2 +Pillow==6.1.0 +psutil==5.6.3 +pyasn1==0.1.9 +pyasn1-modules==0.0.7 +pycparser==2.19 +pycurl==7.43.0 +pyinstrument==3.0.3 +pyinstrument-cext==0.2.2 +pyodm==1.5.2b1 +pyOpenSSL==19.0.0 +pyparsing==2.4.0 +pyproj==2.2.2 +Pyste==0.9.10 +python-apt==1.1.0b1+ubuntu0.16.4.4 +python-dateutil==2.4.2 +python-snappy==0.5 +pytz==2014.10 +PyYAML==3.13 +rasterio==1.0.28 +repoze.lru==0.7 +requests==2.21.0 +requests-toolbelt==0.9.1 +scipy==1.2.1 +service-identity==16.0.0 +Shapely==1.6.4.post2 +simplejson==3.16.0 +six==1.10.0 +snuggs==1.4.6 +trollius==2.0.1 +Twisted==16.0.0 +txaio==1.0.0 +urllib3==1.24.1 +xmltodict==0.12.0 +zope.interface==4.1.3