pipenv错误解决:TypeError: "module" object is not callable

软件版本

今天在折腾一台新的云主机,所以我在安装环境的时候pippipenv都选择安装了最新版本

注:正是这两个版本配合才会出现下面的报错,旧版本或以后的新版本的Pipenv不会出现)。

具体如下:

// pipenv 的版本 2018.7.1
$ pipenv --version
pipenv, version 2018.7.1

// pip 的版本 18.1 
$ pip --version
pip 18.1 from /usr/bin/python3.6/lib/python3.6/site-packages/pip (python 3.6)

……

READ MORE

macOXS中使用matplotlib遇到的问题及探究

第一次在mac系统上使用matplotlib库的时候,在执行的时候,往往会遇到下面这样的问题:

ImportError: Python is not installed as a framework. balabala....

解决方案

当然这个问题很好解决,网上有一搜就会找到如下两种解决方案:

第一种方案是在系统中设置:

  • 假设你已经通过pip install matplotlib安装了matplotlib,那么在你的根目录中会有一个名为〜/ .matplotlib的目录。
  • 在这个目录中创建一个matplotlibrc的文件 ,在里面添加一行代码:backend: TkAgg,保存退出即可。

总结为一行shell命令就是:echo "backend: TkAgg" >> ~/.matplotlib/matplotlibrc

这种方式可以设定整个系统的matplotlib渲染使用的引擎,但是不好的是,代码会变得不可移植,如果服务器很多,我们需要每一台机器都去设置这个参数,这时候就需要使用第二种方案。

第二种方案是在代码中设置:

在引用matplotlib库的代码之前,添加如下两行代码(确认安装TkInter):

import matplotlib
matplotlib.use('TkAgg')

这样也可以临时的修改前面提到的 backend变量。

……

READ MORE

[译]实践出真知

Aristotle(亚里士多德),希腊著名的哲学家和科学家,曾经说过:“对于那些我们在能做到之前必须学习如何做的事情,我们需要边做边学 (For the things we have to learn before we can do them, we learn by doing them.)”。想象一下,假如你已经读过3本关于骑行的书了,然后有人给你一辆自行车并让你骑它,你能骑吗?很显然,答案是“不能”。这无关乎你曾经读了多少关于骑行的书或你看了多少相关视频的事情。它需要你真正骑上一辆自行车,去保持平衡,去学习脚,手和眼睛的协调配合才能掌握的一件事情。学习新技术,新语言或框架同样也是如此。

……

READ MORE

[译]通过HTTPS协议运行你的Flask程序

我们在开发Flask应用程序时,通常通过运行Flask自带的Web服务器来开发测试,这个服务器提供了基本的但功能完备的WSGI服务器。但开发结束以后,在应用程序上线到生成环境时,有很多不得不考虑的事情,其中之一是我们是否应该要求客户端使用加密连接以增加安全性。

人们总是问我这个问题,特别是如何在HTTPS协议上部署Flask服务器。在本文中,我将介绍几种为Flask应用程序添加加密的方案,从一个非常简单的可以在五秒内实现,到一个强大的就像我的网站一样可以得到一个A +评级解决方案(我的网站的SSL分析数据)。

……

READ MORE

git

Git开发记录-合并多条commit最佳实践

问题

常规的多人基于GIT协作开发的时候,都是遵循先fork一份主版本代码到自己的账号下面,然后基于本账户的版本,开分支来开发功能或修Bug,完成以后再讲修改的内容,提交一个完整的PR贡献回主版本。

在本分支上开发的过程中,有时候不得不先提交到自己账号下面的克隆版本中来测试(比如豆瓣的dae pre,无法在本地生成预览,需要提交到远端),我们不能保证一次性提交就做到完美,避免不了会往复的修改后提交,这样的一次次测试用的commit属于是冗余的琐碎信息,对于主版本迭代是没有价值的。如果直接在基于该分支提交PR,甚至被mergeupstream/master主版本中,这些不必要的 commit 信息也会包含进主版本中。这当然不是一个理想的迭代方式。

现在问题明确以后,就是一个目标:将这些开发中的所有commit都合并为一条有意义的commit信息提交给主版本

……

READ MORE

Scroll to top