简体   繁体   中英

How to install Numpy & pip3 for python3.x when they were installed in python2.7? Using Conda?

I want to write program in python3 (3.5), hence I installed python3 next to the pre-installed python2 (2.7) on Mac OS X El Captian.

Since my terminal runs python2.7 by default and Numpy is already installed for it, I put alias python=python3 and expected to be able to install Numpy for python3. when I type pip install numpy . This was the generated message:

Requirement already satisfied (use --upgrade to upgrade): numpy in /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages

I also noticed that I have no pip3 even though I am using python3: python --version returned Python 3.5.2 , but pip3 install numpy got me -bash: pip3: command not found .

So my questions are:
1) How to install Numpy for python3.x when Numpy is installed on python2.x?
2) How to get pip3?
3) Is it better to use virtual environments, such as Conda, instead of juggling between python2 and python3 on the system?

Thank you from a total n00b

------------------- Update -------------------

Reinstalling python3 also fixed another problem in my case.
When I ran brew doctor , one of the warning message I got was:

Warning: You have unlinked kegs in your Cellar Leaving kegs unlinked can lead to build-trouble and cause brews that depend on those kegs to fail to run properly once built. Run brew link on these: python –

This is a result of me running brew unlink python in order to fix

"Python quit unexpectedly"

when I launch Vim and also

"The ycmd server SHUT DOWN"

Both seem to relate to the YouCompleteMe autocomplete plugin which I downloaded for Python.

I got my idea of removing symlinks from here and here
However, Homebrew evidently did not like the absence of those 39 symlinks.

After uninstall ( brew uninstall python3 ) and then re-install python3 ( brew install python3 ) as Toby suggested, Homebrew gave me

You can install Python packages with  
pip3 install <package>

Then when I pip3 install numpy and pip3 install scipy , both executed successfully.

To my surprise, symlinks created during Python installation used to cause aforementioned error messages for Python and YouCompleteMe, but now I open python files using Vim without crash from a fresh Python installation, which definitely created the symlinks.

------------------- Update2 ------------------

After re-installing Anaconda2, the same YouCompleteMe error came back. I suspect Anaconda messed up symlinks.

I would recommend using the Anaconda Python distribution.

The main reasons are as such:

  1. You will have a Python distribution that comes with numpy and the rest of the Scientific Python stack.
  2. The Anaconda Python will be installed under your home directory, with no need for sudo -ing to install other packages.
  3. conda install [put_packagename_here] works alongside pip install [put_packagename_here] ; conda install is much 'cleaner' (IMHO, differing opinions are welcome).
  4. If you have a Python 3 environment as your default, then pip works out-of-the-box without needing to remember to do pip3 .
  5. conda environments are easier to manage than virtualenv environments, in my opinion. And yes, you can have Python 2 alongside Python 3.
  6. I once messed up my system Python environment - the one that came with my Mac - and it broke iPhoto (back in the day). Since then, I became convinced of needing separate, atomic environments for different projects.

I've detailed more reasons in a personal blog post .

Other distributions, of course, are all good, provided they give you what you need :).

The simplest way on a Mac is with Homebrew:

http://brew.sh/

Install Homebrew, then run:

brew install python3 pip3

Edit --

Python3 includes pip3, but Homebrew occasionally has trouble linking to the correct versions, depending on what has been installed. Running the following command:

brew doctor

And if you see errors relating to python or unlinked kegs, try running:

brew uninstall python python3

And reinstalling after checking brew doctor .

https://unix.stackexchange.com/questions/233519/pip3-linked-to-python-framework-instead-of-homebrew-usr-local-bin

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM