1. Anaconda 설치하기
위 링크에서 Linux 64-Bit(x86) Installer의 마우스 오른쪽 클릭 후 링크주소복사를 한다.
그 다음 사용자 홈디렉터리에서 벗어나서 모든 사용자가 접근할 수 있는 경로에 리눅스 설치 파일을 다운받은 후 설치 해준다.
cd /opt #예시
sudo wget https://repo.anaconda.com/archive/Anaconda3-2020.11-Linux-x86_64.sh
sudo bash Anaconda3-2020.11-Linux-x86_64.sh
지시에 따라서 ENTER를 계속 누르다 Do you accept the license terms? [yes|no]에 yes를 입력한다.
아래와 같이 /home/[user_home_directory]/anaconda3가 기본 설치 location이나 다른 경로에 설치해주기 위해 Enter가 아닌 /[설치 location]/anaconda3을 입력해준다.
설치가 완료되면 conda --version으로 설치가 정상적으로 완료되었는지 확인한다.
만일 conda: command not found 오류 발생 시 bashrc를 아래와 같이 수정한다.
vi ~/.bashrc
export PATH=/opt/anaconda3/bin:$PATH # 하단에 해당 코드 추가
source ~/.bashrc
다른 user도 Anaconda 사용할 수 있게 하기 위해서 setuid 특수권한을 이용한다.
anaconda3의 경로에 아래와 같은 코드를 이용해 setuid를 설정하며, setuid 비트가 설정된 파일은 소유자 권한으로 파일을 실행시킬 수 있다. (권한 오류 해결하기 위해)
sudo chmod +4000 /opt/anaconda3
2. Anaconda 환경변수 만들기
아래의 명령어를 이용해서 환경변수를 만들어준 후, 필요한 모듈을 설치한다.
conda create -n [가상환경이름] python=[python Version]
conda install [패키지 이름]
그 외 명령어는 하단의 게시글을 참고한다.
3. PHP에서 Anaconda 환경 이용하기
PHP는 exec 함수를 이용해서 shell 실행(외부실행)이 가능하다.
exec ( string $command , array &$output = null , int &$result_code = null ) : string|false |
command : shell 실행 구문
The command that will be executed.
output : shell에 print되는 결과를 변수로 저장
If the output argument is present, then the specified array will be filled with every line of output from the command. Trailing whitespace, such as \n, is not included in this array. Note that if the array already contains some elements, exec() will append to the end of the array. If you do not want the function to append elements, call unset() on the array before passing it to exec().
result_code : 실행 결과 코드 (0 : 에러없이 실행완료)
If the result_code argument is present along with the output argument, then the return status of the executed command will be written to this variable.
환경변수를 사용하기 위해서 /opt/anaconda3/envs/[conda_환경변수]/bin/python으로 python 코드를 실행해주면 된다.
<?
exec("/opt/anaconda3/envs/[conda_환경변수]/bin/python3 test.py ", $out, $status);
?>
'BackEnd > Server' 카테고리의 다른 글
[Git] 프로젝트 내부 코드 라인 수 조회하기 (0) | 2021.05.27 |
---|---|
[Docker] MYSQL Database 로컬 위치로 백업하기 (0) | 2021.05.18 |
[PHP] $_FILES 오류 메시지 (0) | 2021.02.16 |
[Apache2] .htaccess 설정 파일 사용하기 (4) | 2021.02.07 |
AWS EC2 .pem 파일없이 접속하기 (0) | 2021.02.06 |
댓글