Difference between pip3 and python3 -m pip

前端 未结 2 332
一生所求
一生所求 2020-12-30 04:02

I am trying to install some packages using pip and python3. I am using MacOS, so by default when I run pip, it uses my version of Python 2.

I have been able to insta

相关标签:
2条回答
  • 2020-12-30 04:09

    As @tihorn says, pip3 and python3 -m pip should be the same. There is at least one exception: if they are not in the same path. I had the following setup:

    $ which pip3
    /usr/bin/pip3
    $ which python3
    /home/username/anaconda3/bin/python3
    

    After installing modules with pip3 and verifying with pip3 freeze, I was not able to access them when running python3 my_script.py or python3 -c 'import my_module'. I was getting a ModuleNotFound error.

    0 讨论(0)
  • 2020-12-30 04:13

    They are the same. If you look at the pip3 file in the bin folder it calls the main function from the pip module.

    pip3 install package_name runs pip3 file in the bin folder:

    # bin/pip3 
    # or bin/pip if using pip install package_name
    
    import re
    import sys
    
    from pip import main
    
    if __name__ == '__main__':
        sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0])
        sys.exit(main())
    

    python3 -m pip install package_name runs the __init__.py file of the pip module.

    # pip/__init__.py
    if __name__ == '__main__':
        sys.exit(main())
    

    Both of them run the same main() function

    0 讨论(0)
提交回复
热议问题