필자가 작성한 엘릭서 라이브러리의 일부로 실행되는 Python 스크립트가 있습니다. 즉, 응용 프로그램을 시작할 때 을 내 start_link 함수 중 하나에서 실행합니다.스크립트에 대한 엘릭서 라이브러리 응용 프로그램 경로
사용자의 deps/mylibrary/lib 폴더에 스크립트를 설치합니다.
path/to/script
은 내가 어떻게 해야할지 모르겠다. 나는 System.cwd()
을 평가하고 그 결과를보고 스크립트가 어디에 있는지 추론 할 수있다. 그러나 이것은 잘못된 것처럼 보인다.
믹스를 사용하여이를 수행 할 수있는 방법이 있어야한다고 생각합니다.
나는 현재 소스 파일에 상대적인 경로를 얻기 위해 보통'Path.expand'와'__DIR__'을 사용합니다. 'Path.expand ("path/to/script", __DIR __)'. 이게 효과가 있는지 볼 수 있니? (당신이 호출하는 파일에 따라'../ path/to/script' 또는'../../ path/to/script'를해야 할 것입니다.) – Dogbert
@Dogbert 예, 저것 공장! 그러나 이것이 이것을 수행하는 표준 방법인지 궁금합니다. 많은 Elixir 라이브러리가 비 엘릭서 의존성을 가져야 만합니다. 이것들은 일반적으로 deps/whatever/lib에 설치되어 있습니까? – MaxStrange
런타임에 액세스하고자하는 파일을'priv /'폴더에 넣어야하고': code.priv_dir (: my_package)'를 사용하여 코드에서 액세스 할 수 있는지 확인할 수 있습니다. http://stackoverflow.com/questions/43414104/read-files-in-phoenix-in-production-mode 및 내 의견을 참조하십시오. – Dogbert