Toolkit for Machine Learning, Natural Language Processing, and Text Generation, in TensorFlow. This is part of the CASL project: http://casl-project.ai/
Dependencies in requirements.txt have module conflicts.
Description
There is a dependency mentioned in the requirements.txt file: tensorflow and tensorflow-gpu. These two packages are both built from the tensorflow. They share many modules (with different contents). During the pip installation process, both of these packages will be installed simultaneously. However, pip does not isolate these two packages, but rather installs them both in the site-packages directory. This leads to the situation where modules from the later installed package overwrite the modules with the same paths installed by the earlier package.
What's more, due to the module conflicts (they both build from the same project), the tensorflow-gpu has been removed and the tensorflow now supports the GPU environment either.
Desired Change
Indeed, it is not an ideal behavior for modules to be overwritten, even if they are not actively used or if the overwritten module is the one being called. It introduces uncertainty and can cause issues in the long run, especially if there are changes or updates to the overwritten modules in future development. It is generally recommended to avoid such conflicts and ensure that only the necessary and compatible dependencies are declared in the requirements to maintain a stable and predictable environment for the project.
Background
Dependencies in
requirements.txt
have module conflicts.Description
There is a dependency mentioned in the
requirements.txt
file:tensorflow
andtensorflow-gpu
. These two packages are both built from thetensorflow
. They share many modules (with different contents). During the pip installation process, both of these packages will be installed simultaneously. However, pip does not isolate these two packages, but rather installs them both in the site-packages directory. This leads to the situation where modules from the later installed package overwrite the modules with the same paths installed by the earlier package.What's more, due to the module conflicts (they both build from the same project), the
tensorflow-gpu
has been removed and thetensorflow
now supports the GPU environment either.Desired Change
Indeed, it is not an ideal behavior for modules to be overwritten, even if they are not actively used or if the overwritten module is the one being called. It introduces uncertainty and can cause issues in the long run, especially if there are changes or updates to the overwritten modules in future development. It is generally recommended to avoid such conflicts and ensure that only the necessary and compatible dependencies are declared in the requirements to maintain a stable and predictable environment for the project.