Sky*_*ler 55 python macos installation uninstall path
在过去几年中,我已经安装了许多Python库和各种Python版本.为了让它们立即工作,我盲目地安装它们而没有控制.目前,当我尝试安装调用numpy,scipy和matplotlib的pynest时,它们会导致问题.经过努力,我将清理并重新安装Python和库.
经过调查,我在我的系统上找到了Python 2.5/2.6/2.7/3.2,并且每个都有一些副本或其他东西:(我的OS == Mac OS X 10.7.5 Lion)
/Library/Frameworks//opt/local/Library/Frameworks//opt/local/bin//Applications//usr/local/bin/ /usr/bin//System/Library/Frameworks/我知道拥有这些我很疯狂.现在我除去了所有这些东西/System/Libarary/Frameworks(我从未删除过任何东西/System/Library/).干净的工作之后,which python现在给出了/usr/bin/python哪些链接/System/Library/Frameworks.
现在,重新安装python是一个明确的环境吗?如何仔细检查是否存在其他版本?我应该如何重新安装它们以保证它们和它们的库不会到处都有并且可以再次复制许多副本?
我想在一个合适的位置安装一个干净的Python 2.7,让我的系统确切地知道它在哪里,并且永远不会在其他地方安装任何库.请给我一些建议,告诉我如何以专业的方式管理它.
为了您的信息,这是我的最新信息$PATH,我认为应该修改:
/opt/local/bin:/opt/local/sbin:/opt/nest/lib/python2.7/site-packages:/usr/local/lib/python2.7/site-packages:/Library/Frameworks/Python.framework/Versions/2.7/bin:/usr/texbin:/Library/Frameworks/Python.framework/Versions/3.2/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/texbin:/Library/Frameworks/Python.framework/Versions/3.2/lib/python3.2/site-packages/django/bin:/usr/X11/bin:/opt/local/bin:/opt/local/sbin:/usr/local/lib/python2.7/site-packages:/Library/Frameworks/Python.framework/Versions/2.7/bin:/Library/Frameworks/Python.framework/Versions/3.2/bin
Run Code Online (Sandbox Code Playgroud)
如果您需要更多信息,请告知我们.谢谢!
更新:
我正在重新思考为什么它变得如此疯狂.我相信这是因为我通过以下方式安装了东西:
easy_install/ macports/ homebrew/ fink/ pip有时候;.dmg 有时; .pkg 有时;他们在不同的地方制作东西.我想知道这些方法背后的机制是什么?他们如何选择目标位置?如何防止他们搞砸了?
Sky*_*ler 27
正如OP的更新所说,有一对不同的安装Python的方式,他们在不同的位置定位文件.例如,macports把东西放进去/opt/local/,同时homebrew放入东西/usr/local/.此外,Mac OS X带来了一些python版本.因此,如果您通过不同的方式多次安装python,您将在系统上独立存在许多python版本.
我完全不知道.我想问题是如果你有许多版本的python,那么使用哪一个以及在哪里找到包将由你的系统中的路径顺序PATH和PYTHONPATH相应的路径顺序决定.因此您可能无法控制安装python模块的位置.考虑一下,如果你运行sudo python setup.py install安装一个模块(它通过root找到python PATH)然后尝试import通过模块python -c "import it"(这次它发现你的python PATH),也许会出问题.这是我的猜测,我没有验证它.但就我个人而言,确实出了问题.
我认为原则是要注意不同的方式和工具将事物独立地安装到不同的位置,因此要谨慎使用它们.
virtualenv)PATH并考虑它是否正确.由于它已经搞乱并且似乎很难治愈,所以最后我通过完整的操作系统重新安装解决了这个问题,并开始关注上面的DOs-and-DONT.对于使用python安装科学环境(numpy/scipy/matplotlib,这已经显示出让我问这个问题的问题),我发现本教程非常有用.所以,问题终于解决了.
jer*_*ean 12
这让我感到困惑,以及我是如何解决它的.
$ which python
/usr/bin/python
$ which python3
/usr/local/bin/python3
$ ls /usr/local/bin/python
ls: /usr/local/bin/python: No such file or directory
Run Code Online (Sandbox Code Playgroud)
所以请注意我没有安装python2.7的HomeBrew,但确实安装了python3./ usr/bin/python下的版本使用系统默认值.您可以根据模块搜索路径判断:
$ /usr/bin/python
Python 2.7.10 (default, Feb 7 2017, 00:08:15)
[GCC 4.2.1 Compatible Apple LLVM 8.0.0 (clang-800.0.34)] on darwin
`enter code here`Type "help", "copyright", "credits" or "license" for
more information.
>>> import sys
>>> sys.path
['', '/Library/Python/2.7/...
Run Code Online (Sandbox Code Playgroud)
请注意'/ Library/Python'...这是Mac OS的python版本.但我想严格遵守用户安装的版本(即HomeBrew).
所以这就是我为解决这个问题而采取的措施:
$ brew install python
...
Warning: python 2.7.13 is already installed, it's just not linked.
You can use `brew link python` to link this version.
$ brew link --overwrite python
$ which python
/usr/local/bin/python
$ python
Python 2.7.10 (default, Feb 7 2017, 00:08:15)
[GCC 4.2.1 Compatible Apple LLVM 8.0.0 (clang-800.0.34)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import sys
>>> sys.path
['', '/usr/local/Cellar/python/2.7.13...
Run Code Online (Sandbox Code Playgroud)
它不再是/ Library/..而是/ usr/local.
现在它找到了我所有的pip安装模块!问题解决了!
更新:
将brew更新到版本1.5.4后,似乎删除了符号链接.现在你必须将它添加到你的路径:
export PATH="/usr/local/opt/python/libexec/bin:$PATH"
Run Code Online (Sandbox Code Playgroud)
阅读'brew info python'中的注意事项部分:
==> Caveats
This formula installs a python2 executable to /usr/local/bin.
If you wish to have this formula's python executable in your PATH then add
the following to ~/.bash_profile:
export PATH="/usr/local/opt/python/libexec/bin:$PATH"
Pip and setuptools have been installed. To update them
pip2 install --upgrade pip setuptools
You can install Python packages with
pip2 install <package>
They will install into the site-package directory
/usr/local/lib/python2.7/site-packages
See: https://docs.brew.sh/Homebrew-and-Python.html
Run Code Online (Sandbox Code Playgroud)
为了将python发行版安装到特定文件夹中,可以--prefix在python安装期间使用该方案.使用前缀方案,您可以将Python 2.7安装到该文件夹中/opt/py27.现在,为了使用新安装的Python发行,你必须:清理你PATH和LD_LIBRARY_PATH:
而已.
(如果您需要同时安装多个Python环境,我建议您查看virtualenv)
| 归档时间: |
|
| 查看次数: |
60661 次 |
| 最近记录: |