Кому-нибудь удалось создать графики с PDL (Perl Data Language) с использованием PDL-версии Strawberry Perl на Windows?
Я установил PDL-версию Strawberry Perl 5.30. 1.1 из http://strawberryperl.com/releases.html в Windows 10 (64 бита), запустил PDL (pdl2) и попытался отобразить график, как описано в первом примере в книге PDL (издание 2015 г.):
pdl> use PDL::Graphics::Simple
pdl> imag (sin(rvals(200,200)+1))
но получил
Trying gnuplot (PDL::Graphics::Gnuplot)...nope
Trying pgplot (PDL::Graphics::PGPLOT::Window)...nope
Trying plplot (PDL::Graphics::PLplot)...nope
Trying prima (PDL::Graphics::Prima)...nope
Runtime error: Sorry, all known plotting engines failed. Install one and try again.
, хотя пакет исправлений 6 gnuplot 5.2 включен в эту версию Strawberry Perl.
Я обнаружил, что gnuplot не обнаруживается PDL из-за проблемы в Alien :: Gnuplot v1.033. Если я изменю Windows -specifi c часть Alien :: Gnuplot :: load_gnuplot на
if($^O =~ /MSWin32/i) {
if( $exec_path =~ m/([\"\*\?\<\>\|])/ ) {
die "Alien::Gnuplot: Invalid character '$1' in path to gnuplot -- I give up" ;
}
use Win32::Job;
my $job = Win32::Job->new;
open my $ofh, ">$file";
if (defined $ofh) {
my $pid = $job->spawn(undef, qq{"$exec_path" ${file}_gzinta},
{ no_window => 1, stdout => $ofh, stderr => $ofh });
if (defined $pid) {
$job->run(3); # wait at most 3 seconds for job to finish
}
}
}
, то при запуске примера PDL получим:
Trying gnuplot (PDL::Graphics::Gnuplot)...PDL::Graphics::SImple: Gnuplot exists but yours doesn't support either the x11 or wxt terminal
Trying pgplot (PDL::Graphics::PGPLOT::Window)...nope
Trying plplot (PDL::Graphics::PLplot)...nope
Trying prima (PDL::Graphics::Prima)...nope
Runtime error: Sorry, all known plotting engines failed. Install one and try again.
, тогда gnuplot обнаружен, но, по-видимому, не удовлетворяет некоторым дополнительным требованиям.
Таким образом, похоже, что версия gnuplot, поставляемая с версией PDL Strawberry Perl 5.30.1.1 на Windows, не подходит для использования PDL, даже если проблема Alien :: Gnuplot исправлена - но кажется странным, что случайный пользователь (я) должен первым это заметить. Или я что-то не так делаю?
Я сообщил об этой явной ошибке на https://rt.cpan.org/Ticket/Display.html?id=131361, но меня интересует опыт других пользователей с этим выпуском на Windows.
EDIT 2020-01-10 : https://pdl.perl.org говорит о том, что версия Strawberry Perl для PDL - это «самый простой способ» установить PDL на Windows, и не упоминает ничего другого, что необходимо установить.
В нем также упоминается «альтернативный простой способ», который включает в себя явную установку PGPLOT, который является одним из других графических движков, которые пытался использовать PDL.
Подразумевается, что «самый простой способ» не требует дополнительной работы для установки графического движка, но мой опыт другой.
Мой вопрос не в том, «Какие еще вещи мне нужны установить, чтобы мой PDL мог использовать графический движок? " Я хочу знать, может ли он работать «из коробки», как подразумевает «самый простой способ».