I am trying to follow the installing guidelines but conda always fails
And the most annoying thing is that there is no way to resume - (base) C:\Users\nzt46b\Documents\projects\llm_engineering>conda env create -f environment.yml Channels:
- conda-forge
- defaults Platform: win-64 Collecting package metadata (repodata.json): done Solving environment: done
Downloading and Extracting Packages:
Preparing transaction: done Verifying transaction: done Executing transaction: - "By downloading and using the cuDNN conda packages, you accept the terms and conditions of the done Installing pip dependencies: - Ran pip subprocess with arguments: ['C:\Users\nzt46b\.conda\envs\llms\python.exe', '-m', 'pip', 'install', '-U', '-r', 'C:\Users\nzt46b\Documents] Pip subprocess output: Looking in indexes: https://nzt46b:****@artifactory.gm.com/artifactory/api/pypi/python/simple Requirement already satisfied: beautifulsoup4 in c:\users\nzt46b.conda\envs\llms\lib\site-packages (from -r C:\Users\n) Requirement already satisfied: plotly in c:\users\nzt46b.conda\envs\llms\lib\site-packages (from -r C:\Users\nzt46b\Do) Pip subprocess error: WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'New/ WARNING: Retrying (Retry(total=3, connect=None, read=None, redirect=None, status=None)) after connection broken by 'New/ WARNING: Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'New/ WARNING: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'New/ WARNING: Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'New/ WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'New/ WARNING: Retrying (Retry(total=3, connect=None, read=None, redirect=None, status=None)) after connection broken by 'New/ WARNING: Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'New/ WARNING: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'New/ WARNING: Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'New/ WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'New/ WARNING: Retrying (Retry(total=3, connect=None, read=None, redirect=None, status=None)) after connection broken by 'New/ WARNING: Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'New/ WARNING: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'New/ WARNING: Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'New/ ERROR: Could not find a version that satisfies the requirement bitsandbytes (from versions: none) ERROR: No matching distribution found for bitsandbytes
failed
CondaEnvException: Pip failed
Are you sure this process ever worked ? It seems like the most common packages are somehow missing or not synchornized.
ERROR: Could not find a version that satisfies the requirement bitsandbytes (from versions: none) ERROR: No matching distribution found for bitsandbytes
it looks like you're running into issues with the bitsandbytes library installation
Here are 2 solutions:
- Remove
bitsandbytesfromenvironment.yml— it's only needed if you use a GPU with a quantized model. On Colab, this case is handled automatically with!pip install bitsandbytesalready in the notebook. - Specify a version:
bitsandbytes==0.45.4works for me.
thanx, but it doesn't work at all, Now transformers is causing the same problem. This conda yaml file was never checked as it seems. there needs to be robust configuration with resumption option. This setup doesn't work at all. I don't understand how people are supposed to do this udemy course. This doesn't work at all ! The installation should have been written in a way that it will first check the dependencies and then try to install.
Docker completely eliminates environment-related issues like this - I highly recommend using it for these situations.
Install Docker Desktop:
- Go to: https://www.docker.com/products/docker-desktop
- Download Docker Desktop
- Run the installer
- Start Docker Desktop
Test It Works (in terminal/command prompt)::
docker --version
docker run hello-world
Then create Dockerfile inside the project:
FROM python:3.11-slim
# Install Jupyter and dependencies
RUN pip install --upgrade pip
COPY requirements.txt .
RUN pip install -r requirements.txt
# Expose Jupyter port
EXPOSE 8888
# Start Jupyter without authentication
CMD ["jupyter", "lab", "--ip=0.0.0.0", "--port=8888", "--no-browser", "--allow-root", "--NotebookApp.token=''", "--NotebookApp.password=''"]
Then run in terminal:
docker build -t llm-eng .
It will take time to run - go take a break, coffee or tea!
docker run --rm -it -p 8888:8888 -v .:/app -w /app --name llm-eng-container llm-eng
Access Jupyter at: http://localhost:8888
Let me know if you need help
hey @ravenrani - I've only seen this now, apologies. I'm fast at responding in Udemy - typically within hours - and also by email, and by LinkedIn. The details for how to contact me are in the README, in the resources and in the labs. You'll see that I respond very quickly, and that many people do experience environment issues, and they are always fixed.
In your case, from looking at the message, the issue appears clear:
Looking in indexes: https://nzt46b:****@artifactory.gm.com/artifactory/api/pypi/python/simple
The installation process appears not to be looking at the public pypi.org package index, but rather, this computer has been globally configured to use a private package index with a private account with user "nzt46b" on artifactory.gm.com.
It looks like the user "nzt46b" on your computer has made a global setting - probably either by setting a pip.ini or a PIP_INDEX_URL environment variable - to use a private package index for all package installs, perhaps as part of a work project which uses a private pypi server.
If I'm right, then the responsibility lies entirely with this user, who has misconfigured your machine and has broken the installation of public packages like bitsandbytes and transformers.
Honestly, I can only assure you that the conda process has been thoroughly tested. It is challenging to install complex environments at the forefront of data science, and there are frequently issues, but they are always fixed. If your computer has a global override to the Pip settings, then that needs to be addressed first.
Hey @lisekarimi - thanks so much for weighing in. On balance I'd probably not recommend the docker route because it can introduce a slew of issues on its own (example that will hit almost immediately: will you run Ollama in the container or on the host? Do you need to map port 11434?). The fallback I go with is always virtualenv. In this case, it looks to me that the user's machine is misconfigured - you can see the Pypi server issue, and that it's not finding any bitsandbytes on a win64 platform which can't be right.