记录两个折磨了我三天的低级错误

第一个:由于文件名中多了一个空格

装freetype的时候一直提示我找不到一个路径,具体的提示信息我给忘了,然后我反复确认路径,是没有问题的,最后,终于在确认了无数次之后幡然醒悟:

因为我装的是中文版的ubuntu所以,我为了方便把用户目录下的“下载,文档”等文件夹的名字手动全部改为中文,因为不小心就把“下载”那个文件名改成了“download+空格”,最后的这个空格特别不显眼,无论如何也看不出来。

然后把文件夹的空格删除后,安装可以正常运行。

第二个:程序的名字和引入包的名字一样

这两天的程序一直出现这个错误

Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/home/stone/code/numpy.py", line 7, in <module>
NameError: name ‘array‘ is not defined

说明:这是我的代码,文件名为numpy.py

#coding=utf-8

from PIL import Image
from pylab import *

im = array(Image.open(‘lena.jpg‘))
print im.shape, im.dtype

im = array(Image.open(‘lena.jpg‘).convert(‘L‘), ‘f‘)
print im.shape, im.dtype

错误一直提示我着找不到“array”对象,但是array对象是numpy里的对象无疑,所以就一直以为是numpy开发包装错了,三天装、卸numpy无数次,最终今天恍然大悟,原来是我把程序的名字命名为numpy导致import numpy的时候,错误的以为我的这个文件就是需要导入的numpy模块从而一直找不到“array”对象。

把文件名改为numpy_test.py后程序运行正常

时间: 2024-10-03 23:53:56

记录两个折磨了我三天的低级错误的相关文章

hdu 4972 A simple dynamic programming problem (每次记录两队得分差值求结果数)

因为是每次投篮后记录两队得分的差值,所以两个队伍的总分是不断增加的,可以发现只有差值由1-->2或者2-->1的情况才可能产生产生两种总分和的结果如 0:2可以变成2:3和1:2  其他的情况都只能是一种 郜大可的代码: 1 #include<stdio.h> 2 #include<string.h> 3 #include<iostream> 4 #include<algorithm> 5 using namespace std; 6 #defi

转:java两个jre目录和三个lib目录

lib目录下放置着jar包.程序中的import语句找的就是这些文件!例如:import javax.servlet.RequestDispatcher;    问题在于,在cmd模式下编译,系统会提示:CheckAccount.java:5: 软件包 javax.servlet 不存在! 在安装jdk之后,仔细观察下安装路径下的文件夹,其中共计两处包含jre目录!共有三处lib目录!包含javax.servlet的jar包就应该被安置在其中的某一处.首先在tomcat的安装目录下,找到serv

笔记:记录两个新接触的东东- required + placeholder

1.1 required="required" 1.2 placeholder 当用户还没有输入值时,输入型控件可能通过placeholder向用户显示描述性说明文字或者提示信息,这在目前网站中很常见,一些JS框架都会提供类似功能,简单的说下在旧版本中常用的解决方案,为输入控件创建一个label,然后通过CSS控制些label的位置使之覆盖在输入控件上面,当label获得焦点时,浏览器会把焦点指向输入控件.不过有了placeholder,新的浏览器就内置了这一功能,其特性值会以浅灰色样

Log4Net日志记录两种方式

本文转载:http://www.cnblogs.com/wolf-sun/p/3347373.html#3009010 简介 log4net库是Apache log4j框架在Microsoft .NET平台的实现,是一个帮助程序员将日志信息输出到各种目标(控制台.文件.数据库等)的工具.     log4net是Apache软件基金会Apache Logging Services工程的一部分.Apache日志服务工程致力于为程序调试和审计提供跨语言的日志服务.(f:百度百科) 原理 Log4ne

【转载】Python中如何高效实现两个字典合并,三种方法比较。

本文转载自:http://www.pythoner.com/13.html Python中将两个字典进行合并操作,是一个比较常见的问题.本文将介绍几种实现两个字典合并的方案,并对其进行比较. 对于这个问题,比较直观的想法是将两个字典做相加操作,赋值给结果字典,其代码为: 方法一: dictMerged1 = dict( dict1.items() + dict2.items() ) 然而,该方法合并时所用时间较长,效率更高的代码为: 方法二: dictMerged2 = dict( dict1,

JavaScript中交换两个变量的值得三种做法(代码实现)

javascript在编程时经常会涉及到如何交换两个变量的值,例如常见的冒泡排序,快速排序等:下面我讲根据自己近期所学总结几种常见的交换两个变量值的方法: 方法一:借助第三方变量交换两个变量的值 var num1=20; var num2=50; var temp=num1; num1=num2; num2=temp; console.log(num1);//在控制台输出交换后的num1=50 console.log(num2);//在控制台输出交换后的num2=20 方法二:借助加法计算,交换

11g两节点RAC添加第三个节点

在三个节点,配置hosts文件,新增节点和原有节点都配置为相同的 12.16.10.5  rac1 12.16.10.6  rac2 12.16.10.4  rac3 12.16.10.7  rac1-vip 12.16.10.8  rac2-vip 12.16.10.5  rac3-vip 12.16.12.5  rac1-priv 12.16.12.6  rac2-priv 12.16.12.4  rac3-priv 12.16.10.9  scan 查到1节点和2节点的uid和gid  (

编程练习:合并两个数组(包括三种快排程序)

1 #include <stdio.h> 2 #include <stdlib.h> 3 4 /*确定快排1的分界值*/ 5 int partition1(int array[],int r,int m){ 6 int i,j=m,temp,flag1=0,flag2=0;//比较的数是大数时将flag1置1,也就是当遇到大数之后,再次遇到小数才进行前后交换: 7 //flag2为0时,j=i,第一次遇到大数时,把flag2置1;也就是说,j的初始值为参考值的坐标, 8 //当遇到

leetcode记录-两数之和

给定一个整数数组和一个目标值,找出数组中和为目标值的两个数. 你可以假设每个输入只对应一种答案,且同样的元素不能被重复利用. 示例: 给定 nums = [2, 7, 11, 15], target = 9 因为 nums[0] + nums[1] = 2 + 7 = 9 所以返回 [0, 1] 解答: class Solution { public static int[] twoSum(int[] nums, int target) { Map<Integer, Integer> map