【问题标题】:All Preinstalled Python packages automatically included in the new Virtualenv所有预安装的 Python 包都自动包含在新的 Virtualenv 中
【发布时间】:2020-02-29 13:07:06
【问题描述】:

自从在macOS Catalina中从BASH迁移到ZSH并尝试删除python 2后,我遇到了这个问题,但没有成功,所以我放弃删除python 2。结果,每次我创建新的Virtualenv,所有全局包都会自动包含在新的 Virtualenv 中:

这是我的配置:

dlintin@Linns-MBP belajar_django % python --version
Python 2.7.16
dlintin@Linns-MBP belajar_django % python3 --version
Python 3.7.6
dlintin@Linns-MBP belajar_django % which python        
/usr/bin/python
dlintin@Linns-MBP belajar_django % which python3
/usr/local/bin/python3
dlintin@Linns-MBP belajar_django % pip -V
pip 20.0.2 from /Library/Python/2.7/site-packages/pip (python 2.7)
dlintin@Linns-MBP belajar_django % pip3 -V
pip 19.0.3 from /Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.7/lib/python3.7/site-packages/pip (python 3.7)
dlintin@Linns-MBP belajar_django % which pip   
pip: aliased to /usr/local/bin/pip
dlintin@Linns-MBP belajar_django % which pip3
/usr/bin/pip3

dlintin@Linns-MBP belajar_django % which virtualenv
/usr/local/bin/virtualenv

dlintin@Linns-MBP belajar_django % virtualenv test

created virtual environment CPython2.7.16.final.0-64 in 534ms
  creator CPython2macOsFramework(dest=/Users/dlintin/DEVELOPMENT/DJANGO/belajar_django/test, clear=False, global=False)
  seeder FromAppData(download=False, pip=latest, setuptools=latest, wheel=latest, via=copy, app_data_dir=/Users/dlintin/Library/Application Support/virtualenv/seed-app-data/v1)
  activators PythonActivator,CShellActivator,FishActivator,PowerShellActivator,BashActivator

dlintin@Linns-MBP belajar_django % source test/bin/activate

(test) dlintin@Linns-MBP belajar_django % pip freeze

DEPRECATION: Python 2.7 reached the end of its life on January 1st, 2020. Please upgrade your Python as Python 2.7 is no longer maintained. A future version of pip will drop support for Python 2.7. More details about Python 2 support in pip, can be found at https://pip.pypa.io/en/latest/development/release-process/#python-2-support
altgraph==0.17
appdirs==1.4.3
asn1crypto==1.3.0
backports.functools-lru-cache==1.6.1
bdist-mpkg==0.5.0
bonjour-py==0.3
cffi==1.14.0
configparser==4.0.2
contextlib2==0.6.0.post1
cryptography==2.8
cycler==0.10.0
distlib==0.3.0
enum34==1.1.9
filelock==3.0.12
future==0.18.2
importlib-metadata==1.5.0
importlib-resources==1.0.2
ipaddress==1.0.23
kiwisolver==1.1.0
macholib==1.14
matplotlib==2.2.5
modulegraph==0.18
numpy==1.16.6
pathlib2==2.3.5
pbr==5.4.4
py2app==0.21
pycparser==2.19
pyobjc-core==5.3
pyobjc-framework-Accounts==5.3
pyobjc-framework-AddressBook==5.3
pyobjc-framework-AppleScriptKit==5.3
pyobjc-framework-AppleScriptObjC==5.3
pyobjc-framework-Automator==5.3
pyobjc-framework-CFNetwork==5.3
pyobjc-framework-Cocoa==5.3
pyobjc-framework-Collaboration==5.3
pyobjc-framework-CoreData==5.3
pyobjc-framework-CoreLocation==5.3
pyobjc-framework-CoreServices==5.3
pyobjc-framework-CoreText==5.3
pyobjc-framework-DictionaryServices==5.3
pyobjc-framework-EventKit==5.3
pyobjc-framework-ExceptionHandling==5.3
pyobjc-framework-FSEvents==5.3
pyobjc-framework-InputMethodKit==5.3
pyobjc-framework-InstallerPlugins==5.3
pyobjc-framework-InstantMessage==5.3
pyobjc-framework-LatentSemanticMapping==5.3
pyobjc-framework-LaunchServices==5.3
pyobjc-framework-Message==5.3
pyobjc-framework-OpenDirectory==5.3
pyobjc-framework-PreferencePanes==5.3
pyobjc-framework-PubSub==5.3
pyobjc-framework-QTKit==5.3
pyobjc-framework-Quartz==5.3
pyobjc-framework-ScreenSaver==5.3
pyobjc-framework-ScriptingBridge==5.3
pyobjc-framework-SearchKit==5.3
pyobjc-framework-ServiceManagement==5.3
pyobjc-framework-Social==5.3
pyobjc-framework-SyncServices==5.3
pyobjc-framework-SystemConfiguration==5.3
pyobjc-framework-WebKit==5.3
pyOpenSSL==19.1.0
pyparsing==2.4.6
python-dateutil==2.8.1
pytz==2019.3
scandir==1.10.0
scipy==1.2.3
six==1.14.0
stevedore==1.32.0
subprocess32==3.5.4
typing==3.7.4.1
virtualenv==20.0.7
xattr==0.9.7
zipp==1.2.0
(test) dlintin@Linns-MBP belajar_django %

【问题讨论】:

  • 有什么问题?你想为 python3 创建一个 virtualenv 吗?如果是这样,您需要在创建时将其作为参数传递给 virtualenv。例如。 virtualenv test --python $(which python3)pip 的命令仍将在您的 venv 中显示为 pip,但它将用于 python3。
  • 我已经编辑了这个问题,我的意思是看看底部的 pip freeze,所有的包都已经在那里了,即使我只是创建了 venv。

标签: python python-3.x pip virtualenv macos-catalina


【解决方案1】:

问题是pip: aliased to /usr/local/bin/pipunaliased pip清理别名后问题解决了!

【讨论】:

    【解决方案2】:

    每次您创建的任何虚拟环境中都会包含 Pip。 pip 是添加新库所必需的,就像您使用 pip 安装冻结的 Django 一样。

    【讨论】:

    • 我已经编辑了这个问题,我的意思是看看底部的 pip freeze,所有的包都已经在那里了,即使我只是创建了 venv。
    【解决方案3】:

    您可能想在您的虚拟环境中查看which python。被激活。最近我在激活的虚拟环境中遇到了类似的问题。只会指向系统python。我正在使用 Win7x64 并将 Python 安装在符号链接目录中。你也在使用符号链接吗?很抱歉让您失望了,但还没有找到解决办法。

    【讨论】:

    • 结果如下:dlintin@Linns-MBP belajar_django % source bin/activate (belajar_django) dlintin@Linns-MBP belajar_django % which python /Users/dlintin/belajar_django/bin/python
    猜你喜欢
    • 2017-01-26
    • 2011-08-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-13
    • 2021-05-25
    • 1970-01-01
    相关资源
    最近更新 更多