본문 바로가기
파이썬 프로그래밍/파이썬 개발

파이썬 패키지 만들기-1 환경 구성하기

by Majestyblue 2024. 6. 7.

https://toyourlight.tistory.com/83

 

유전 알고리즘 2.유전 알고리즘 구현하기

전 시간에 유전 알고리즘과 유전에 대하여 이야기했는데, 이번 시간에는 유전 알고리즘을 파이썬을 이용하여 직접 구현해 보겠습니다. 1.요구조건 유전 알고리즘을 이용하여 모든 문제를 풀 수

toyourlight.tistory.com

 

위의 유전 알고리즘을 수업시간 및 각종 프로젝트에 유용하게 활용하고자 라이브러리를 만들고 PYPI에 등록, 깃헙에 푸쉬하는 등 본격적인 관리를 해 보고자 한다. 개발환경은 Spyder를 이용한다.

 

1. 구현 위치 정하기

본인은 네이버 N드라이브를 레이드라이브로 임포트하여 클라우드 기반 폴더로 사용하고 있는데 어디서든 개발을 위해 여기에다가 환경을 구성하기로 하였다.

 

 

교육용으로 나만(또는 공유 대상인 학생, 선생님 등)쓸 것이기 때문에 라이브러리 이름을 edu gene algo로 설정하였고 여기에 main.py를 둔다. 또한 세 가지 요소인 1.합 20 만들기, 2.이미지 3.선형 회귀 세가지를 lib 폴더에 각각 파이썬 파일을 만들 것이다.

 

2. 파이썬 경로 설정

https://www.geeksforgeeks.org/importerror-unknown-location-in-python-2/

 

Importerror: "Unknown Location" in Python - GeeksforGeeks

A Computer Science portal for geeks. It contains well written, well thought and well explained computer science and programming articles, quizzes and practice/competitive programming/company interview Questions.

www.geeksforgeeks.org

 

여기를 참고하였다.

하위 폴더인 lib에 sum_20.py 를 아래와 같이 간단하게 만들었다.

# -*- coding: utf-8 -*-

import numpy as np

dice = np.array([1, 5, 6, 8, 3, 7, 3, 5, 9, 0], dtype=np.int32)

def throw_dice():
  value = np.random.choice(dice, 1)
  return value

def create_genome():
  genome = np.array([])
  for i in range(3):
    value = throw_dice()
    genome = np.concatenate([genome, value], axis=0)
  return genome

 

주사위 던지기 함수와 3개의 유전물질을 가진 유전자를 만드는 코드이다.

 

이 상태에서 아래와 같이 main.py를 실행하였더니 에러가 났다.

# -*- coding: utf-8 -*-
from lib import sum_20

print(sum_20.throw_dice())
print(sum_20.create_genome())

 

  File x:\edu_gene_algo\main.py:8
    from lib import sum_20

ImportError: cannot import name 'sum_20' from 'lib' (unknown location)

 

찾아보니 파이썬 경로 설정에 없었기 때문이다. 아래와 같이 spyder 쉘에 실행해 보니 내가 작업하는 위치에 해당하는 파이썬 경로는 존재하지 않았다.

import sys
print(sys.path)

 

따라서 내가 작업하는 환경을 추가해줘야 한다.

# -*- coding: utf-8 -*-
import sys
sys.path.append('X:\edu_gene_algo\lib')

from lib import sum_20

print(sum_20.throw_dice())
print(sum_20.create_genome())

 

이제 잘 된다.

 

이제 본격적인 개발만 남았다!!!

 

# 추가!!!

경로가 또 안되는 경우 발생 (ㅜㅜ) 아래 블로그를 참고하여 해결하였다.

https://memme.tistory.com/190

 

Anaconda 설치 & Spyder PYTHONPATH 설정

Anaconda 설치 Anaconda 설치 시 파이썬 기본 프로그램(기본 라이브러리)과 함께 많이 사용되는 외부 패키지(라이브러리)와 통합 개발 환경(Spyder)을 한번에 설치함으로 따로 환경을 설치 할 필요가 없

memme.tistory.com

 

spyder의 PYTHONPATH manager를 이용하여 작업공간을 추가하여 해결하면 된다.