Google app engine pip安装-t将重新安装应用程序引擎的现有软件包

Google app engine pip安装-t将重新安装应用程序引擎的现有软件包,google-app-engine,pip,Google App Engine,Pip,我按照步骤为我的app engine应用程序准备了所有第三方库: pip安装-t lib/ 但是,该命令会将许多预先存在的包(例如:Django)安装到lib文件夹中 我尝试先在virtualenv上预安装appengine已经安装的所有软件包。但是,该命令仍然会重新安装这些软件包。。有没有办法解决这个问题 更新 这些软件包是在virtualenv中预安装的 (venv)➜ django解析的appengine git:(主)pip冻结 BeautifulSoup==3.2.1 beauti

我按照步骤为我的app engine应用程序准备了所有第三方库:

pip安装-t lib/

但是,该命令会将许多预先存在的包(例如:Django)安装到lib文件夹中

我尝试先在virtualenv上预安装appengine已经安装的所有软件包。但是,该命令仍然会重新安装这些软件包。。有没有办法解决这个问题

更新 这些软件包是在virtualenv中预安装的


(venv)➜  django解析的appengine git:(主)pip冻结
BeautifulSoup==3.2.1
beautifulsoup4==4.6.0
certifi==2017.7.27.1
chardet==3.0.4
点击==6.7
crcmod==1.7
cssselect==1.0.1
装饰器==0.1.1
Django==1.11
django扩展==1.9.1
端点==1.0.0
enum34==0.9.23
feedfinder2==0.0.1
feedparser==5.1.3
烧瓶==0.12
未来==0.16.0
期货=3.0.5
鹅提取器==1.0.25
grpcio==1.0.0
html5lib==0.99999999
idna==2.6
图像==1.5.16
危险==0.24
解霸==0.39
金甲2==2.6
jsonfield==2.0.2
lxml==3.7.3
MarkupSafe==0.23
MySQL python==1.2.5
报纸==0.1.0.7
nltk==3.2.5
numpy==1.6.1
olefile==0.44
pafy==0.5.3.1
枕头==4.3.0
protobuf==3.0.0
protorpc==0.11.1
PyAMF==0.7.2
pycrypto==2.6.1
python dateutil==2.4.0
python magic==0.4.13
pytz==2017.2
Pyaml==3.10
请求==2.18.4
六=1.9.0
tldextract==1.5.1
ujson==1.35
urllib3==1.22
webapp2==2.5.2
网络编码==0.5.1
WebOb==1.2.3
Werkzeug==0.11.10
youtube dl==2017.10.12

但是,pip-t仍将重新安装它。…(例如,Django)


(venv)➜  django已解析的appengine git:(主)pip安装django已解析==0.2-t lib
正在收集django已解析==0.2
正在收集lxml(从django解析==0.2)
使用缓存的lxml-4.0.0-cp27-cp27m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl
正在收集pafy(从django解析==0.2)
正在收集html5lib(从django解析==0.2)
使用缓存的html5lib-0.99999999-py2.py3-none-any.whl
正在收集numpy(从django解析==0.2)
使用缓存的numpy-1.13.3-cp27-cp27m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl
正在收集jsonfield(从django解析==0.2)
使用缓存的jsonfield-2.0.2-py2.py3-none-any.whl
正在收集请求(从django解析==0.2)
使用缓存请求-2.18.4-py2.py3-none-any.whl
收集python魔术(从django解析==0.2)
使用缓存的python_magic-0.4.13-py2.py3-none-any.whl
正在收集未来(从django解析==0.2)
收集鹅提取器(从django解析==0.2)
正在收集django(从django解析==0.2)
使用缓存的Django-1.11.6-py2.py3-none-any.whl
收集六个(从django解析==0.2)
使用缓存的six-1.11.0-py2.py3-none-any.whl
正在收集django jet(从django解析==0.2)
收集报纸(从django解析==0.2)
正在收集beautifulsoup4(从django解析==0.2)
使用缓存的beautifulsoup4-4.6.0-py2-none-any.whl
正在收集youtube dl(从django解析==0.2)
使用缓存的youtube_dl-2017.10.12-py2.py3-none-any.whl
正在收集django扩展(从django解析==0.2)
使用缓存的django_扩展名-1.9.1-py2.py3-none-any.whl
收集网络编码(从html5lib->django parsed==0.2)
使用缓存的webencodings-0.5.1-py2.py3-none-any.whl
收集setuptools>=18.5(从html5lib->django解析==0.2)
使用缓存的setuptools-36.6.0-py2.py3-none-any.whl
收集idna=2.5(从请求->django解析==0.2)
使用缓存的idna-2.6-py2.py3-none-any.whl
正在收集urllib3=1.21.1(从请求->django解析==0.2)
使用缓存的urllib3-1.22-py2.py3-none-any.whl
收集certifi>=2017.4.17(从请求->django解析==0.2)
使用缓存的certifi-2017.7.27.1-py2.py3-none-any.whl
正在收集chardet=3.0.2(从请求->django parsed==0.2)
使用缓存的chardet-3.0.4-py2.py3-none-any.whl
收集结巴(从鹅提取器->django parsed==0.2)
正在收集nltk(从goose提取器->django parsed==0.2)
收集枕(从鹅提取器->django解析==0.2)
使用缓存枕头-4.3.0-cp27-cp27m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl
正在收集cssselect(从goose提取器->django parsed==0.2)
使用缓存的cssselect-1.0.1-py2.py3-none-any.whl
收集beautifulsoup(从goose提取器->django parsed==0.2)
...

并非App Engine支持的所有“内置”库都包含在SDK中-例如,
lxml
在云中提供,但必须在本地安装以供开发

为防止
lib
文件夹中的供应商库与云中App Engine提供的库之间出现重复,请按如下方式组织依赖关系:

  • 对于App Engine未提供的第三方库,请按照供应商文档中的说明,使用
    pip install-t/lib
    将它们安装到lib文件夹中
  • 对于云运行时中提供但未捆绑在SDK中的第三方库,请使用
    pip install

如果你想使用谷歌提供的第三方lib,你不应该将它们安装到你的
lib
目录中,你只需要将它们请求到你的
app.yaml
文件中即可。发件人:

您可以使用请求库

如果您将库安装到
lib
dir(将它们复制或出售到您的应用程序中),您实际上是在指示GAE使用这些库,即使谷歌提供了相同的库。基本上,你是按照配方做的:

要将库复制到项目中,请执行以下操作:

  • 创建一个目录来存储第三方库,例如
    lib/

    mkdir lib
    
  • 使用带有
    -t
    标志的(版本6或更高版本)将库复制到您在上一步中创建的文件夹中。 例如:

    pip install -t lib/ <library_name>
    
    pip安装-t lib
    
    pip install -t lib/ <library_name>