我有一台运行Python 2.6的Mac.当我尝试使用时,easy_install我收到此消息:
/usr/bin/easy_install-2.6:7: UserWarning: Module pkg_resources was already imported from /System/Library/Frameworks/Python.framework/Versions/2.6/Extras/lib/python/pkg_resources.pyc, but /Library/Python/2.6/site-packages is being added to sys.path
from pkg_resources import load_entry_point
/usr/bin/easy_install-2.6:7: UserWarning: Module site was already imported from /System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site.pyc, but /Library/Python/2.6/site-packages is being added to sys.path
from pkg_resources import load_entry_point
Traceback (most recent call last):
File "/usr/bin/easy_install-2.6", line 10, in <module>
load_entry_point('setuptools==0.6c9', 'console_scripts', 'easy_install')()
File "/System/Library/Frameworks/Python.framework/Versions/2.6/Extras/lib/python/pkg_resources.py", line 271, in load_entry_point
return False
File "/System/Library/Frameworks/Python.framework/Versions/2.6/Extras/lib/python/pkg_resources.py", line 2173, in load_entry_point
deps = []
ImportError: Entry point ('console_scripts', 'easy_install') …Run Code Online (Sandbox Code Playgroud) 当我跑步时,我想删除一个安装在brew抱怨的位置的Python brew doctor
警告: Python安装在/Library/Frameworks/Python.framework中
什么是最好的方法?
以下是更多细节/研究:
来自brew git 网站的消息:
重要提示:如果您选择安装不属于这两者的Python(系统Python或酿造的Python),那么Homebrew团队只能提供有限的支持.
在删除额外的python库之前,我想确保我没有遗漏任何内容. 具体来说,我想删除整个Python.framework,这些文件位于此处./Library/Frameworks/Python.framework/
我在本机上安装了Python 2.7.5,我将使用它 - 位于下面的路径中.(区别在于 - 我相信 - 它放在root/System文件夹而不是root/Library文件夹中.)好的原生位置在这里:
/System/Library/Frameworks/Python.framework/Versions/2.7/bin/python
我已经安装了python 3.x brew install python3,它放在这里:
==> Summary
/usr/local/Cellar/python3/3.4.0 : 5076 files, 85M, built in 112 seconds
Run Code Online (Sandbox Code Playgroud)
我可以删除这些文件或它们的后果(除了必须重新链接)?
/Library/Frameworks/Python.framework/
以下是从2010年的stackoverflow问题中删除python的步骤以及类似的问题
这种方法仍然合理吗?有什么我应该知道的吗?
当尝试使用brewed python安装virtualenv时,我收到以下错误:
$ pip install virtualenv
Requirement already satisfied (use --upgrade to upgrade): \
virtualenv in /Library/Python/2.7/site-packages/virtualenv-1.9.1-py2.7.egg
Cleaning up...
Run Code Online (Sandbox Code Playgroud)
所以很明显pip以某种方式查看系统python文件夹而不是/ usr/local中的brewed文件夹.我怎么能避免这个?
brew医生没有发现问题,路径优先级设置正常.
我试图从系统python中删除virtualenv包,所以我可以用brewed pip安装virtualenv.但后来我无法创建virtualenvs,因为我收到了这个错误:
$ virtualenv datatransfer/
Traceback (most recent call last):
File "/usr/local/bin/virtualenv", line 5, in <module>
from pkg_resources import load_entry_point
File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/pkg_resources.py", line 2603, in <module>
working_set.require(__requires__)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/pkg_resources.py", line 666, in require
needed = self.resolve(parse_requirements(requirements))
File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/pkg_resources.py", line 565, in resolve
raise DistributionNotFound(req) # XXX put more info here
pkg_resources.DistributionNotFound: virtualenv==1.9.1
Run Code Online (Sandbox Code Playgroud)
所以我没有设法避免系统virtualenv.
我做错了什么?
我在 macOS Catalina 版本 10.15.1 上运行 python 3.7.6,我正在尝试安装和设置virtualenvwrapper我已经安装的pip3 install virtualenvwrapper.
我的 .bash_profile 中有以下几行:
export VIRTUALENVWRAPPER_PYTHON=/usr/local/bin/python3
export VIRTUALENVWRAPPER_VIRTUALENV=/Users/maxcarey/Library/Python/3.7/bin/virtualenv
export WORKON_HOME=$HOME/.virtualenvs
source /Users/maxcarey/Library/Python/3.7/bin/virtualenvwrapper.sh
Run Code Online (Sandbox Code Playgroud)
这些是我遵循的配置步骤:https : //stackoverflow.com/a/42643313/5420796。以及其他教程(比如这个)
所以你可以看到我attemping这些出口变量指向正确的地方,在我的终端,输出which python3为/usr/local/bin/python3
的输出which virtualenv是:/Users/maxcarey/Library/Python/3.7/bin/virtualenv。的输出which virtualenvwrapper.sh是/Users/maxcarey/Library/Python/3.7/bin/virtualenvwrapper.sh
问题是:当我运行:mkvirtualenv iron 创建一个新的虚拟环境(在这种情况下称为铁),命令的输出是:
在 193ms CPython3Posix(dest=/Users/maxcarey/.virtualenvs/iron, clear=False, global=False) 中创建虚拟环境,使用播种机 FromAppData pip=latest setuptools=latest wheel=latest app_data_dir=/Users/maxcarey/Library/Application Support /virtualenv/seed-v1 via=copy virtualenvwrapper.user_scripts 创建 /Users/maxcarey/.virtualenvs/iron/bin/predeactivate 错误:环境“/Users/maxcarey/.virtualenvs/iron”不包含激活脚本。
您可以看到确实创建了一个虚拟环境,但是,我收到一条错误消息,说没有激活脚本。但是,当我导航到 时~/.virtualenvs,确实可以看到激活脚本。这是tree新文件夹内的输出iron/local/:
??? local
??? bin
??? …Run Code Online (Sandbox Code Playgroud) 我最近安装了OS X Mavericks.我可以访问我之前创建的虚拟环境,但是我无法创建新的虚拟环境:
Christophers-MacBook-Pro-2:~ christopherspears$ mkvirtualenv bottle_todo
-bash: /usr/local/bin/virtualenv: /usr/local/opt/python/bin/python2.7: bad interpreter: No such file or directory
Run Code Online (Sandbox Code Playgroud)
我查看了/ usr/local/bin/virtualenv:
#!/usr/local/opt/python/bin/python2.7
# EASY-INSTALL-ENTRY-SCRIPT: 'virtualenv==1.10.1','console_scripts','virtualenv'
__requires__ = 'virtualenv==1.10.1'
import sys
from pkg_resources import load_entry_point
if __name__ == '__main__':
sys.exit(
load_entry_point('virtualenv==1.10.1', 'console_scripts', 'virtualenv')()
)
Run Code Online (Sandbox Code Playgroud)
果然,路径/usr/local/opt/python/bin/python2.7不会退出.早些时候,我有这个问题:
我尝试更新virtualenv无济于事:
christohersmbp2:~ christopherspears$ pip install virtualenv
Requirement already satisfied (use --upgrade to upgrade): virtualenv in /Library/Python/2.7/site-packages
Cleaning up...
christohersmbp2:~ christopherspears$ pip install --upgrade virtualenv
Requirement already up-to-date: virtualenv in /Library/Python/2.7/site-packages
Cleaning up...
christohersmbp2:~ christopherspears$ mkvirtualenv test
-bash: …Run Code Online (Sandbox Code Playgroud) 我正在遵循这个关于Python的virtualenv的指南,并遇到了一个小问题:
Sahands-MBP:empty sahandzarrinkoub$ source /usr/local/bin/virtualenvwrapper.sh
/usr/bin/python: No module named virtualenvwrapper
virtualenvwrapper.sh: There was a problem running the initialization hooks.
If Python could not import the module virtualenvwrapper.hook_loader,
check that virtualenvwrapper has been installed for
VIRTUALENVWRAPPER_PYTHON=/usr/bin/python and that PATH is
set properly.
Run Code Online (Sandbox Code Playgroud)
打印输出非常有用.它说我需要检查virtualenvwrapper是否已安装VIRTUALENVWRAPPER_PYTHON=/usr/bin/python并且PATH设置正确.唯一的问题是,我不知道这些东西是什么意思.所以我的问题是:
VIRTUALENVWRAPPER_PYTHON=/usr/bin/python.PATH在这种情况下,什么是正确的设置?python ×5
macos ×3
homebrew ×2
virtualenv ×2
brew-doctor ×1
easy-install ×1
python-3.x ×1
unix ×1