반응형

koNLPy  - windows 에서 사용하기. 


환경 :  windows 7 64bit, python 2.7.8 64bit




1. jpype 설치하기

    http://www.lfd.uci.edu/~gohlke/pythonlibs/#jpype  에서 해당 설치 실행파일 다운받아 실행 설치한다.


2. command 창 들어가서..

    C:\Users\user>pip install konlpy




3. python 에서 테스트 해보기.



>>> from konlpy.tag import Kkma
>>> from konlpy.utils import pprint
>>> kkma = Kkma()


>>> pprint(kkma.sentences(u'네, 안녕하세요. 반갑습니다.'))    # 출력 제대로 안됨.
[³×, ¾È³çÇϼ¼¿ä. ¹Ý°©½À´Ï´Ù.]


>>> k = kkma.sentences(unicode('네, 안녕하세요. 반갑습니다.','euc-kr'))         # ok
>>> for x in k:
	print x

	
네, 안녕하세요.
반갑습니다.
>>> 

  


*** 한글 입력 방식...


unicode('네, 안녕하세요. 반갑습니다.','euc-kr')








반응형
Posted by 자유프로그램
,

python 기초 문법 정리

python 2014. 11. 27. 10:47
반응형

python 기초 문법 정리


Life is short, You need python!


환경: python 2.7


위키 :

http://ko.wikipedia.org/wiki/%ED%8C%8C%EC%9D%B4%EC%8D%AC

https://mirror.enha.kr/wiki/Python



소개

https://docs.python.org/2/tutorial/introduction.html



** 주의 : 들여쓰기 --- 탭, 공백 중 한가지만으로 일관성있게 해야함.

                       안그러면, 에러!!!!!

  ; 다른 소스 복사해 올때 특히 주의 !!!


** 파이썬 내장함수  https://docs.python.org/2/library/functions.html#



  

1. number   # 숫자  - int, float, complex

https://wikidocs.net/12


+, - , * , /

//  --> 몫

% --> 나머지

divmod(9,4) --> 몫, 나머지

x**y  --> x 의 y 승



>>> a = 34
>>> 
>>> type(a)
<type 'int'>
>>> 
>>> isinstance(a, int)
True
>>> 
>>> float(a)
34.0
>>> 
>>> str(a)
'34'
>>> 
>>> complex(a)
(34+0j)
>>> 
>>> bin(34)
'0b100010'
>>> 
>>> oct(34)
'042'
>>> 
>>> hex(34)
'0x22'
>>> 
>>> b = 0b11011  # 2 진수
>>> c = 0o34       # 8 진수
>>> d = 0x34       # 16 진수
>>> 
>>> print b, c, d
27 28 52
>>> 
>>> print(b,c,d)
(27, 28, 52)
>>> type(d)
<type 'int'>
>>> 032 + 1
27
>>> 032
26
>>> 0o32
26
>>> 0x34 + 1
53
>>> 



 

>>> b = '123'
>>> print b
123
>>> repr(b)
"'123'"
>>> type(b)
<type 'str'>


>>> a = 123
>>> print a
123
>>> repr(a)
'123'
>>> type(a)
<type 'int'>


>>> b
'123'
>>> a
123
>>> 
	



2. string   # 문자열

      참고 : https://wikidocs.net/13

-- a='abcdef',  b="abc"

 

>>> len(a)
6
>>> a[3]
'd'
>>> a[-2]
'e'
>>> a[0:-2]   # 0 <=   < 2
'abcd'
>>> 'ab' + 'kk'
'abkk'

>>> a=124
>>> str(a)
'124'

>>> int('234')
234
>>> str(123.222)
'123.222'
>>> float('123.222')
123.222

>>> ord('a')    # ascii 코드 숫자 반환하는 내장함수
97
>>> hex(97)
'0x61'	
>>> oct(97)
'0141'
>>> bin(97)
'0b1100001'

>>> int(0x61)
97

>>> int('0x61')
Traceback (most recent call last):
  File "< pyshell#58 >", line 1, in <module >
	int('0x61')
ValueError: invalid literal for int() with base 10: '0x61'
  


문자열 포맷팅

     참고 : https://wikidocs.net/13

              https://mkaz.com/2012/10/10/python-string-format/

              https://docs.python.org/2/library/string.html#format-examples

 
>>> 'int(%s)'%'0x61'  # %s   -->  문자열로 변환  ;; 문자열 포맷팅
'int(0x61)'
>>> eval('int(%s)'%'0x61')   # 문자열로 된 Expression(식) 실행,  (비교) exec
97							# http://freeprog.tistory.com/6 참조.

>>> '--%d-- is conveted to --%x--'%(15,15)    # %d --> 십진수 , %x --> 16진수 소문자..
'--15-- is conveted to --f--'
>>> '%04d is conveted to --%2X--'%(15,15)    # %04d --> 십진수, 최소4칸 확보, 좌측빈칸은 0으로채움. 
'0015 is conveted to -- F--'				# %2X --> 16진수 대문자.., 최소 2칸 확보...


>>> 'I am %s' % 'Tom'
'I am Tom'
>>> 'movie title is %s and %s' % ('Tom','Jerry')
'movie title is Tom and Jerry'

>>> a= 'I am a boy'
>>> a.split()
['I', 'am', 'a', 'boy']
>>> b= a.split()
>>> b
['I', 'am', 'a', 'boy']
>>> ','.join(b)
'I,am,a,boy'
>>> t= 'I,am,a,boy'
>>> t.split(',')
['I', 'am', 'a', 'boy']
>>> ''.join(t.split(','))
'Iamaboy'
>>> ' '.join(t.split(','))
'I am a boy'
	




list   # 리스트

    참고 : https://docs.python.org/2/tutorial/datastructures.html


 
 
>>> a = [66.25, 333, 333, 1, 1234.5]
>>> print a.count(333), a.count(66.25), a.count('x')
2 1 0
>>> a.insert(2, -1)
>>> a
[66.25, 333, -1, 333, 1, 1234.5]
>>> 
>>> a.index(333)
1
>>> a.remove(333)
>>> a
[66.25, -1, 333, 1, 1234.5]
>>> 
>>> a.reverse()
>>> a
[1234.5, 1, 333, -1, 66.25]
>>> 
>>> a.sort()
>>> a
[-1, 1, 66.25, 333, 1234.5]
>>> 
>>> a.pop()
1234.5
>>> a
[-1, 1, 66.25, 333]
>>> 
>>> del a[0]
>>> a
[1, 66.25, 333]
>>> 
>>> a[-1]
333
>>> a[:]
[1, 66.25, 333]
>>> a
[1, 66.25, 333]
>>> 
>>> a[0:2]
[1, 66.25]
>>> a[-2:]
[66.25, 333]
>>> 
 



 
>>> k = range(10)
>>> k
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> 
>>> k[::2]
[0, 2, 4, 6, 8]
>>> k[::-1]
[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
>>> k[:5]
[0, 1, 2, 3, 4]
>>> 
 




tuple  # 튜플  --- 변경불가능 자료...

https://docs.python.org/2/tutorial/datastructures.html#tuples-and-sequences


 
>>> 
>>> t = 12345, 54321, 'hello!'
>>> t
(12345, 54321, 'hello!')
>>> t[-2]
54321
>>> 
>>> t[-1]
'hello!'
>>> t[-1][:3]
'hel'
>>> 
>>> 
>>> u = t, (1, 2, 3, 4, 5)
>>> u
((12345, 54321, 'hello!'), (1, 2, 3, 4, 5))   # Tuples may be nested:
>>>
>>> 

>>> 
>>> t[0] = 88888  # Tuples are immutable:

Traceback (most recent call last):
  File "<pyshell#216>", line 1, in <module>
    t[0] = 88888
TypeError: 'tuple' object does not support item assignment
>>> 
 


*** python 에는 상수를 정의하는 문법이 없다. 

    하지만 PEP8 naming convention 에 따라 대문자 _ 을 사용하여 대개 표현한다.

     참고 : https://www.python.org/dev/peps/pep-0008#constants

   

Constants are usually defined on a module level and written in all capital letters with underscores separating words.

 예)  MAX_OVERFLOWTOTAL.



*** 마찬가지로, 상수형 자료를 표현하고 싶으면 tuple 을 사용하라! (변경 불가능한 자료이므로)





dictionary  # 사전 --- 순서가 없다.. 

--  { key:value, key:value,...}    # key = 유일한 값...(중복 안됨)


 

>>> mydic = {1:'apple',2:'tree','ab':'333','ls':[1,2,5,'abc']}
>>> mydic
{1: 'apple', 2: 'tree', 'ab': '333', 'ls': [1, 2, 5, 'abc']}
>>> mydic[1]
'apple'


>>> mydic[5]

Traceback (most recent call last):
  File "<pyshell#11>", line 1, in <module>
	mydic[5]
KeyError: 5


>>> mydic[5] = 'add'
>>> mydic
{1: 'apple', 2: 'tree', 'ab': '333', 'ls': [1, 2, 5, 'abc'], 5: 'add'}

>>> mydic.keys()
[1, 2, 'ab', 'ls', 5]
>>> mydic.values()
['apple', 'tree', '333', [1, 2, 5, 'abc'], 'add']

>>> mydic.items()
[(1, 'apple'), (2, 'tree'), ('ab', '333'), ('ls', [1, 2, 5, 'abc']), (5, 'add')]
>>> 
	




boolean  --- True, False

 
>>> 3 == 4
False
>>> 
>>> 3 == (2+1)
True
>>>



None



set   # 집합

https://docs.python.org/2/tutorial/datastructures.html#sets


 

>>> basket = ['apple', 'orange', 'apple', 'pear', 'orange', 'banana']
>>> fruit = set(basket)               # create a set without duplicates
>>> fruit
set(['orange', 'pear', 'apple', 'banana'])
>>> 'orange' in fruit                 # fast membership testing
True
>>> 'crabgrass' in fruit
False

>>> # Demonstrate set operations on unique letters from two words
...
>>> a = set('abracadabra')
>>> b = set('alacazam')
>>> a                                  # unique letters in a
set(['a', 'r', 'b', 'c', 'd'])
>>> a - b                              # letters in a but not in b
set(['r', 'd', 'b'])
>>> a | b                              # letters in either a or b
set(['a', 'c', 'r', 'd', 'b', 'm', 'z', 'l'])
>>> a & b                              # letters in both a and b
set(['a', 'c'])
>>> a ^ b                              # letters in a or b but not both
set(['r', 'd', 'b', 'm', 'z', 'l'])



if  ...:

elif ...:

else:

...

Operation

< strictly less than  

<= less than or equal  

> strictly greater than  

>= greater than or equal  

== equal  

!= not equal

is object identity  

is not         negated object identity  


     == , is 차이점 참고 : http://freeprog.tistory.com/29



*** python  에서는 switch 문 없다.  --> if .. elif .. 문을 사용하라!





for ... in ....:  --> enumerate()  자주 사용.

-- continue, break

else: # 정상 for 문 종료시 실행함.



*** python 에서 for 문은 타 언어의 for each 문과 같다.

     -- 타 언어의 for 문은 while 문을 사용하라!

 

>>> for k,v in mydic.items():
	print k,  v
1 apple
2 tree
ab 333
ls [1, 2, 5, 'abc']
5 add

>>> for i in range(5):
	print 'test', i
test 0
test 1
test 2
test 3
test 4



 
>>> seasons = ['Spring', 'Summer', 'Fall', 'Winter']
>>> 

>>> for sx in seasons:
	print sx
else:
	print '------ normal -------'

	
Spring
Summer
Fall
Winter
------ normal -------
>>>
>>>
>>> for i, sx in enumerate(seasons):
	print i, sx
	if i == 2 :
		break
else:
	print 'normal...'

	
0 Spring
1 Summer
2 Fall
>>>
>>>
 



while ...:

-- continue, break

else:  # 정상 while 문 종료시 실행함.



 
>>> i = 0
>>> while i < 5:  # 조건이 참인 경우 아래 구문 실행
	print 'test', i
	i = i + 1

	
test 0
test 1
test 2
test 3
test 4
>>> 




*** python  에서는 do.. while... 문 없다.




함수

--- class 내부에서는 method 라 부른다.

 
>>> def hap(a, b):
	s = a + b
	return s + 100

>>> 
>>> hap(1,2)
103
>>> 
>>> k = hap(1,2)
>>> print k
103
>>> 
 


함수 return 문 없는 경우

 
>>> def hap2(a, b):  # return 문 없는 경우. 
	s = a + b


>>> hap2(1,2)
>>> k2 = hap2(1,2)
>>> print k2
None
>>> 
 


함수 return 값이 없는 경우

 
>>> def hap3(a, b):   # return 값이 없는 경우. 
	s = a + b
	return

>>> hap3(1,2)
>>> k3 = hap3(1,2)
>>> print k3
None
>>> 


**참고 : pass -- 아무것도 하지 않는다. 필요시 추후에 구현할 수도 있다.

 
>>> def kop():
	pass

>>> 
>>> 
>>> kop
<function kop at 0x02187930>
>>> 
>>> kop()
>>> 


함수 인수의 기본값 설정하기

 
>>> def myfx(a, x = 3):
	print a**x

	
>>> 
>>> myfx(2)
8
>>> 
>>> myfx(2,4)
16
>>> 


가변인수 

- * ; tuple 로 받는다.

- ** ; dictionary 로 받는다.

 
>>> def test(a, *b, **kw):  # 가변인수
    print 'a = ', a
    if b : 
        print '*b = ', b
    if kw : print ' **kw = ', kw
    print

    
>>> test(123)
a =  123

>>> test(123,555,'test','a','bb')
a =  123
*b =  (555, 'test', 'a', 'bb')

>>> test(123,['test','a'],'bb')
a =  123
*b =  (['test', 'a'], 'bb')

>>> test(234, 'aa','bb','cc', k=3, y=44)
a =  234
*b =  ('aa', 'bb', 'cc')
 **kw =  {'y': 44, 'k': 3}

>>> 
>>> 





<< 기본개념 >>


namespace (이름공간) -- a mapping from names to objects  ???


모듈   -- python 파일 :  a single Python file

팩키지  -- module 모음 폴더 : a directory of Python modules containing an additional __init__.py file


** 근데 사람들은 module, package, library, battery 등의 말들을 같은의미로  사용한다



http://legacy.python.org/dev/peps/pep-0008/#package-and-module-names 

-- PEP8 --


Module Names -- short, all-lowercase names 

Package Names -- short, all-lowercase names



Class 이름 : 대문자로 시작 

method 이름 (함수 이름) : 모두 소문자




====== Module ==============


아래와 같은 내용의 aa.py  파이썬 파일을 만들자

 
# aa.py
print '.. module..'
print __name__
kk = 3333
print kk

이를 실행시켜보면 __name__ 자리에 __main__ 이 나온다...



python IDLE 에서 aa.py 를 import 시켜보자.

  - 모듈로 import 시킬때는 파일 이름에서 확장자(.py) 빼고 사용



# 모듈로 import 시에는  ; __name__ == aa

# 단독실행시에는 ; __name__ == __main__



 
# aa.py
print '.. module..'
print __name__
kk = 3333
print kk

if __name__ == '__main__':   # 단독 실행시만에 실행되는 조건!!! (모듈로 import 시에는 적용안됨.)
    print ' I am main prg'
    print 'main kk == ', kk
	



====== 한글 ==============

** 한글 사용하기... 

#-*- coding: euc-kr -*-

-- python 2.7 에서는 모듈 맨위줄에 쓰고자하는 코딩을 위 처럼 적어준다.. (2.7은 기본으로 ascii code 사용)

-- but, 3.x 버전과 ironpython 은 기본적으로 unicode 환경이므로 그냥 한글 사용하면 된다..

-- 리눅스, Mac 은  #-*- coding: utf-8 -*-


 

>>> import sys
>>> sys.version
'2.7.8 (default, Jun 30 2014, 16:03:49) [MSC v.1500 32 bit (Intel)]'
>>> sys.getdefaultencoding()
'ascii'
>>> 

	




 

>>> import sys
>>> sys.version
'3.4.2 (v3.4.2:ab2c023a9432, Oct  6 2014, 22:15:05) [MSC v.1600 32 bit (Intel)]'
>>> sys.getdefaultencoding()
'utf-8'
>>> 
	




<< 파일 다루기 >>

https://docs.python.org/2/tutorial/inputoutput.html#reading-and-writing-files

https://docs.python.org/2/library/functions.html#open


1. 파일 쓰기

 
>>> txt = """ abc test
1234..
test end.."""
>>> f = open('test.txt', 'w')   # default == text mode,  binary mode 시에는 'wb'
>>> f.write(txt)
>>> f.close()
>>> 


2. 파일 읽기

 
>>> f = open('test.txt')    # default == read mode & text mode,  binary mode 시에는 'rb'
>>> txt = f.read()
>>> print txt
 abc test
1234..
test end..
>>> f.close()
>>> 
>>> txt
' abc test\n1234..\ntest end..'
>>> 
	



 
>>> f = open('test.txt')
>>> for x in f:
	print x

	
 abc test

1234..

test end..
>>>
	



 
>>> f = open('test.txt')
>>> for x in f:
	print x,

	
 abc test
1234..
test end..
>>> 
	






*** MSSQL 접속하기..


참고 : https://code.google.com/p/pyodbc/

>>> import pyodbc
>>> conn = pyodbc.connect('DRIVER={SQL Server};SERVER=MYMAIN;DATABASE=testdb;UID=sa;PWD=1234',autocommit=True )
>>> cursor = conn.cursor()
>>> cursor.execute("select  * from client")
>>> recs = cursor.fetchall()
	

** 이와는 별도로 각 database 마다 connection pooling 은 구글 검색하면 나옵니다....



*** 참고 사항 


StringIO streaming 자료 다룰때 사용할수있는 file-like object 




<<  Class >>


참고 : http://freeprog.tistory.com/36





<< GUI >>


wxpython 참고 사이트


http://xoomer.virgilio.it/infinity77/wxPython/APIMain.html

http://www.blog.pythonlibrary.org/

http://zetcode.com/







반응형
Posted by 자유프로그램
,
반응형

ubuntu - pyenv 설치 사용하기



환경 : ubuntu 14.04.1 LTS 32bit


참고 : http://davebehnke.com/python-pyenv-ubuntu.html

         https://blog.ansuchan.com/how-to-set-python-dev-env/

        https://github.com/yyuu/pyenv

         http://opencafe.readthedocs.org/en/latest/getting_started/pyenv/

         http://iqbalnaved.wordpress.com/2013/08/30/installing-python-2-7-5-on-ubuntu-12-04-using-pyenv/



~$ sudo apt-get install curl git-core


~$ curl https://raw.github.com/yyuu/pyenv-installer/master/bin/pyenv-installer | bash


 


** .bashrc 파일에 다음 내용을 추가한다.


export PYENV_ROOT="${HOME}/.pyenv"

if [ -d "${PYENV_ROOT}" ]; then
  export PATH="${PYENV_ROOT}/bin:${PATH}"
  eval "$(pyenv init -)"
fi
 


--> 터미널 종료후.. 터미널 재시작한다.




** pyenv 버전 확인하기


~$ pyenv --version

pyenv 20141118




** 설치가능한 python 버전 확인하기


~$ pyenv install --list



** Build Dependencies 설치하기..

~$ sudo apt-get build-dep python2.7 


- 2.7 과 3.2 버전 동시에 설치하기위한 Build Dependencies 설치하기..

~$ sudo apt-get build-dep python2.7 python3.2



** 상기 빌드 dependency 만으로는 부족한 경우 있어서 추가로 설치한다...


~$ sudo apt-get install build-essential wget \

 libreadline-dev libncurses5-dev libssl1.0.0 tk8.5-dev \

 zlib1g-dev liblzma-dev

  


** python 2.7.8 설치하기

~$ pyenv install 2.7.8



~$ which python





** 현재 설치된 파이썬 버전 보기...


~$ pyenv versions

* system (set by /home/parkhh/.pyenv/version)

  2.7.8


--> system python (2.7.6) 과 방금 설치한 2.7.8  ...  2 가지 보임.

     ; 현재는 * 표시 있는 system python 이 선택된 상태



** local 에서만 python 2.7.8 실행가능하게 하기.

   ( 아래 경우는 test_py 라는 폴더 내부에서만 python 2.7.8 사용가능한 상태되며, 폴더 벗어나면 system python 으로 돌아온다)


~$ mkdir test_py

~$ cd test_py/


~/test_py$ pyenv local 2.7.8

~/test_py$ pyenv versions

  system

* 2.7.8 (set by /home/parkhh/test_py/.python-version)


~/test_py$ python

Python 2.7.8 (default, Nov 26 2014, 08:46:06) 

[GCC 4.8.2] on linux2

Type "help", "copyright", "credits" or "license" for more information.

>>> exit()


~/test_py$ cd ..


~$ python

Python 2.7.6 (default, Mar 22 2014, 22:59:38) 

[GCC 4.8.2] on linux2

Type "help", "copyright", "credits" or "license" for more information.

>>> exit()


~$ 





반응형
Posted by 자유프로그램
,
반응형

vmware workstation 10.1 - ubuntu 12.04.5 LTS 설치후 black screen 해결책




참고 : https://communities.vmware.com/thread/484745



설치한 ubuntu 가상머신 설정에서 

   - Accelerate 3D graphics 체크 해제 하면 된다.






반응형
Posted by 자유프로그램
,
반응형

ubuntu - pip, numpy, scipy, matplotlib 설치하기



환경 : ubuntu 14.04.1 LTS 32bit , python 2.7


참고 : http://stackoverflow.com/a/20497374

         http://stackoverflow.com/a/9843560



***중요 

 시스템 python 에 모듈 설치시에는 sudo 권한 필요하다!

 but, virtualenv 가상환경에서 모듈설치시에는 sudo 권한 필요없다.





1.  먼저 ubuntu update 하기


$ sudo apt-get update



2. pip 설치하기


$ sudo apt-get install python-pip


-- pip 이외에도 많은 것들이 설치된다.





3. python IDLE 설치하기  (설치 안해도 됨)


$ sudo apt-get install idle




4. numpy 설치전에  소스 컴파일 필수 프로그램 먼저 설치하기...


$ pip install numpy

그냥 실행시 에러 메세시..


에러 메세지 나온데로 python-dev 설치후 다시 numpy 설치 시도..


sudo apt-get install python-dev


$ pip install numpy


하지만, 또 UnicodeDecodeError 발생... 


에러메세지 보면 permission 거부되어 발생한 에러임.. 

 --> sudo 권한 필요.


sudo pip install numpy


---> numpy 설치 성공.



5. scipy 설치하기

sudo apt-get install libblas-dev

sudo apt-get install liblapack-dev

sudo pip install scipy

   ** no fortran compiler 에러시에는 sudo apt-get install gfortran 으로 포트란 설치후 scipy 설치한다.



6. matplotlib 설치하기

  -- png, freetype 에 대한 사전 설치 요함.


sudo apt-get install libpng-dev

$ sudo apt-get install libfreetype6-dev


$ sudo apt-get install libjpeg8-dev

     ---> jpeg 도 그냥 설치함.. 


$ sudo pip install matplotlib




7. ipython notebook 설치하기


$ sudo pip install "ipython[notebook]"



8. scikit-learn 설치하기

  -- png, freetype 에 대한 사전 설치 요함.


sudo pip install scikit-learn





9. virtualenv 설치하기


http://virtualenv.readthedocs.org/en/latest/virtualenv.html#installation


$ sudo pip install virtualenv




** 참고

--distribute , --no-site-packages 옵션은 필요없다.





9.virtualenv 사용법

1) 가상환경 만들기 (venv_test 라는 폴더이름으로)

 $ virtualenv venv_test
   -- venv_test 라는 가상환경 폴더를 만든다.

venv_test/lib/pythonX.X/site-packages
    --> 가상환경용 library 설치할 장소
venv_test/bin/python
   --> 가상환경에서 사용할 python



2) 가상환경 활성화 하기

가상환경 폴더인 venv_test 폴더로 이동하여 가상환경 활성화 시킨다. 
 (가상환경 폴더로 이동 하지않다도 되지만, 작업 data 폴더 등을 추가로 만들때 타 환경과 구분되기위해 venv_test 폴더로 이동한다.)

~/venv_test$ source bin/activate


 -- 가상환경 활성화 되면 prompt 앞에 (가상환경폴더이름) 식으로  (venv_test) 가 보인다.



-- 이제부터  여기서  pip 로 해당 가상환경 전용 파이썬 모듈 설치하고, 실행하고 작업한다..


-- 아래 그림은 가상환경 전용 pip 를 사용하는 증거를 보여주는 그림이다.




 * 가상환경 전용 numpy 설치하기


(venv_test)parkhh@ubuntu:~/venv_test$ pip install numpy==1.8.2


   -- sudo 권한 없이도 numpy 설치 잘된다.


   --  이전에 시스템 파이썬 환경에 

 sudo apt-get install python-dev

  명령어로 python-dev 설치 했기 때문에, 바로 numpy 설치 되었을 수도 !!!!

  -- 따라서 사전에 python-dev 설치 안했다면 이것을 설치해야 될수도 있다.



3) 가상환경 활성화 종료하기.

~/venv_test$ deactivate
  -- 이 역시 꼭 가상환경폴더 내부에서 실행할 필요는 없다. 아무 위치에서 실행해도 된다!











반응형
Posted by 자유프로그램
,