Install pandas on Mac M1 Big Sur into multiple virtualenv - python

Like many others I was not able to install (using pip) pandas on my MacBook M1, eventually thanks to this answer I managed to install it from source.
After cloning pandas the steps are
source venv/bin/activate
pip install cython
cd pandas
python3 setup.py install
I am obviously able to do the same for every project (virtualenv) I work with, but I would like to install in each project the locally built pandas module (v1.3.0.dev0+1019.gc10dd1a5f1) without a full rebuild from source.
Is that possible?

Instead of python3 setup.py install run pip wheel ., save the wheel from dist/ folder and next time install from the wheel:
pip install /path/to/pandas.whl

Run the following code
brew install openblas
pip3 install cython
OPENBLAS="$(brew --prefix openblas)" pip3 install numpy --no-use-pep517
OPENBLAS="$(brew --prefix openblas)" pip3 install pandas --no-use-pep517

Related

Is it possible that Mac M1 users are not able to use Python wrapper for TA-Lib?

so I've been trying different methods to install TA-Lib, and found several different methods to install it, none of which have been easy, but even when TA-Lib is installed and appears on pip list, and even managed to install it on pipenv virtual environment, however if I actually want to go ahead and use it by typing
import talib
I get the following error:
ImportError: 2): Symbol not found: _TA_ACOS Referenced from: /Users/teo/.local/share/virtualenvs/trendingcoin-nriNAUCq/lib/python3.8/site-packages/talib/_ta_lib.cpython-38-darwin.so Expected in: flat namespace in /Users/teo/.local/share/virtualenvs/trendingcoin-nriNAUCq/lib/python3.8/site-packages/talib/_ta_lib.cpython-38-darwin.so
Now I would like you to know that I have tried many different methods to install it, they are detailed in this thread: Is it enough to install TA-Lib on Brew to use it? Pip throws me an error
As a wanna-be technical analyst, it would be sad if I can't use the infamous TA-Lib.
I was able to make it work following some of the steps in this github issue: https://github.com/mrjbq7/ta-lib/issues/381
$ arch -x86_64 brew install python#3.9
$ arch -x86_64 brew install ta-lib
$ arch -x86_64 brew link ta-lib
$ arch -x86_64 python3.9 -m pip install --no-cache-dir ta-lib
You'll need x86/brew and rosetta: https://stackoverflow.com/a/64997047/3090309
NOTE: In my case, I went though so many intents, that really made the difference to include the --no-cache-dir option.
The solution here seems to work:
https://github.com/mrjbq7/ta-lib/issues/408#issuecomment-839583759
$ conda install -c conda-forge ta-lib
Install ta-lib
brew install ta-lib
Find pip command for your environment
which -a pip
/home/<user>/.conda/envs/newenv/bin/pip <---------------
/usr/bin/pip
Install ta-lib wrapper via pip command
/home/<user>/.conda/envs/newenv/bin/pip install ta-lib
Here's what I did with my Mac M1:
# install python3.10
arch -arm64 brew install ta-lib
export TA_INCLUDE_PATH="$(brew --prefix ta-lib)/include"
export TA_LIBRARY_PATH="$(brew --prefix ta-lib)/lib"
arch -arm64 python -m pip install --no-cache-dir ta-lib

Does `pip install -U pip -r requirements.txt` upgrade pip before installing the requirements?

It seems to be common practice to set up a Python virtual environment using some variant of the following:
python -m venv venv && source ./venv/bin/activate
python -m pip install -U pip -r requirements.txt
What I hope the above command does is:
Upgrade pip first
Run the installation of the packages in requirements.txt
However, what actually seems to happen is:
Collects all packages, including newest version of pip
Installs them all together
The original/outdated version of pip is what actually runs the installs
And the new version of pip is not used until after this command
Question(s)
Is it possible to have pip upgrade itself and then install a requirements file, in one command?
Would this infer any particular benefits?
Should I switch to the following?
python -m venv venv && source ./venv/bin/activate
python -m pip install -U pip
python -m pip install -r requirements.txt
What is the optimal method to install requirements files?
I see people sometimes installing/upgrading wheel and setuptools as well
The answers to your questions are:
No. pip doesn't currently treat itself as a special dependency, so it doesn't know to install then execute itself, which is what it would need to do to overcome the problems you observed.
Updating pip in a separate step is indeed the recommended way to proceed.
You may from time to time see pip issue a message advising that a newer version is available. This happens a lot if you create them from a python with an outdated pip.
I had a situation similar to yours, I needed to first upgrade pip and then install a bunch of libraries in a lab that had 20 PCs. What I did was writing all the librarie's name in a requirements.txt file, then create a .bat file with two commands:
`python -m pip install --upgrade pip`
`pip install -r requirements.txt`
The first command for upgrading pip and the second one for installing all the libraries listed in the requirements.txt file.

'pip install causallift' does not install

I want to install the Python package causallift, but the installation lingers at 'Installing build dependencies...'.                        
When I install with:
pip3 install causallift
The installation stays at 'Installing build dependencies' for hours.
you can try 2 more options:
run: pip3 install git+https://github.com/Minyus/causallift.git
clone the GitHub repository, cd into the downloaded repository, and run: python setup.py install

Is there a way to install matplotlib offline on linux?

I have been trying to install matplotlib on offline linux system without much success.
I have tried:
python2.7 setup.py build
It then tries the following:
Downloading http://pypi.python.org/packages/source/d/distribute/distribute-0.6.28.tar.gz
The same happens with setup.py install.
How can I get it to install without an internet connection?
I use Python 2.7.12
Go to Matplotlib pypi package index and download the appropriate file for your system.
Then use:
$ sudo apt-get install python-setuptools build-essential
$ pip install wheel_file.whl
you might have to use sudo with this command.
Download the matploitdb wheel
"http://www.lfd.uci.edu/~gohlke/pythonlibs/#matplotlib"
Then do,
pip install matploitdb_wheel.whl

Install line 'pip install scipy' fails [duplicate]

It is possible to install NumPy with pip using pip install numpy.
Is there a similar possibility with SciPy? (Doing pip install scipy does not work.)
Update
The package SciPy is now available to be installed with pip!
Prerequisite:
sudo apt-get install build-essential gfortran libatlas-base-dev python-pip python-dev
sudo pip install --upgrade pip
Actual packages:
sudo pip install numpy
sudo pip install scipy
Optional packages:
sudo pip install matplotlib OR sudo apt-get install python-matplotlib
sudo pip install -U scikit-learn
sudo pip install pandas
src
An attempt to easy_install indicates a problem with their listing in the Python Package Index, which pip searches.
easy_install scipy
Searching for scipy
Reading http://pypi.python.org/simple/scipy/
Reading http://www.scipy.org
Reading http://sourceforge.net/project/showfiles.php?group_id=27747&package_id=19531
Reading http://new.scipy.org/Wiki/Download
All is not lost, however; pip can install from Subversion (SVN), Git, Mercurial, and Bazaar repositories. SciPy uses SVN:
pip install svn+http://svn.scipy.org/svn/scipy/trunk/#egg=scipy
Update (12-2012):
pip install git+https://github.com/scipy/scipy.git
Since NumPy is a dependency, it should be installed as well.
In Ubuntu 10.04 (Lucid), I could successfully pip install scipy (within a virtualenv) after installing some of its dependencies, in particular:
$ sudo apt-get install libamd2.2.0 libblas3gf libc6 libgcc1 libgfortran3 liblapack3gf libumfpack5.4.0 libstdc++6 build-essential gfortran libatlas-sse2-dev python-all-dev
To install scipy on windows follow these instructions:-
Step-1 : Press this link http://www.lfd.uci.edu/~gohlke/pythonlibs/#scipy to download a scipy .whl file (e.g. scipy-0.17.0-cp34-none-win_amd64.whl).
Step-2: Go to the directory where that download file is there from the command prompt (cd folder-name ).
Step-3: Run this command:
pip install scipy-0.17.0-cp27-none-win_amd64.whl
I tried all the above and nothing worked for me. This solved all my problems:
pip install -U numpy
pip install -U scipy
Note that the -U option to pip install requests that the package be upgraded. Without it, if the package is already installed pip will inform you of this and exit without doing anything.
If I first install BLAS, LAPACK and GCC Fortran as system packages (I'm using Arch Linux), I can get SciPy installed with:
pip install scipy
On Fedora, this works:
sudo yum install -y python-pip
sudo yum install -y lapack lapack-devel blas blas-devel
sudo yum install -y blas-static lapack-static
sudo pip install numpy
sudo pip install scipy
If you get any public key errors while downloading, add --nogpgcheck as parameter to yum, for example:
yum --nogpgcheck install blas-devel
On Fedora 23 onwards, use dnf instead of yum.
For the Arch Linux users:
pip install --user scipy prerequisites the following Arch packages to be installed:
gcc-fortran
blas
lapack
Addon for Ubuntu (Ubuntu 10.04 LTS (Lucid Lynx)):
The repository moved, but a
pip install -e git+http://github.com/scipy/scipy/#egg=scipy
failed for me... With the following steps, it finally worked out (as root in a virtual environment, where python3 is a link to Python 3.2.2):
install the Ubuntu dependencies (see elaichi), clone NumPy and SciPy:
git clone git://github.com/scipy/scipy.git scipy
git clone git://github.com/numpy/numpy.git numpy
Build NumPy (within the numpy folder):
python3 setup.py build --fcompiler=gnu95
Install SciPy (within the scipy folder):
python3 setup.py install
In my case, it wasn't working until I also installed the following package : libatlas-base-dev, gfortran
sudo apt-get install libatlas-base-dev gfortran
Then run pip install scipy
install python-3.4.4
scipy-0.15.1-win32-superpack-python3.4
apply the following commend doc
py -m pip install --upgrade pip
py -m pip install numpy
py -m pip install matplotlib
py -m pip install scipy
py -m pip install scikit-learn
The answer is yes, there is.
First you can easily install numpy use commands:
pip install numpy
Then you should install mkl, which is required by Scipy, and you can download it here
After download the file_name.whl you install it
C:\Users\****\Desktop\a> pip install mkl_service-1.1.2-cp35-cp35m-win32.whl
Processing c:\users\****\desktop\a\mkl_service-1.1.2-cp35-cp35m-win32.whl
Installing collected packages: mkl-service
Successfully installed mkl-service-1.1.2
Then at the same website you can download scipy-0.18.1-cp35-cp35m-win32.whl
Note:You should download the file_name.whl according to you python version, if you python version is 32bit python3.5 you should download this one, and the "win32" is about your python version, not your operating system version.
Then install file_name.whl like this:
C:\Users\****\Desktop\a>pip install scipy-0.18.1-cp35-cp35m-win32.whl
Processing c:\users\****\desktop\a\scipy-0.18.1-cp35-cp35m-win32.whl
Installing collected packages: scipy
Successfully installed scipy-0.18.1
Then there is only one more thing to do: comment out a specfic line or there will be error messages when you imput command "import scipy".
So comment out this line
from numpy._distributor_init import NUMPY_MKL # requires numpy+mkl
in this file: your_own_path\lib\site-packages\scipy__init__.py
Then you can use SciPy :)
Here tells you more about the last step.
Here is a similar anwser to a similar question.
Besides all of these answers,
If you install python of 32bit on your 64bit machine, you have to download scipy of 32-bit irrespective of your machine.
http://www.lfd.uci.edu/~gohlke/pythonlibs/
In the above URL you can download the packages and command is: pip install
For gentoo, it's in the main repository:
emerge --ask scipy
You can also use this in windows with python 3.6 python -m pip install scipy

Categories