現在、データ分析とグラフィックス生成の一部を自動化したいため、perl PDL のインストールに失敗しています。
残念ながら、データ ファイルを処理するための小さなスクリプトを作成するどころか、必要なモジュールを問題なくインストールすることさえできないようです。
私はPerlでいくつかの初歩的な経験がありますが、空想は何もなく、Windows 10 x64を使用しています。
最初に、x64 ストロベリー perl v5.24 をインストールし、続いて Astro::FITS::Header、Convert::UU、OpenGL、および PDL を ppm でインストールしました。 =インストール。ただし、Inline::C のインストールに問題があり、PDL_Book_Latest http://sourceforge.net/projects/pdl/files/PDL/2.4.10/PDL-Book-20120205の 5 ページにリストされている例を試した後.pdf/download画像が表示されず、検索できる場所に画像ファイルもありませんでした。Google に戻っても、この問題の原因に関する情報が見つからないため、最初からやり直して、より詳細に文書化されることを期待して古いバージョンを使用することにしました。
そのため、Windows にインストールされたプログラムのダイアログからいちご perl をアンインストールし、いちごフォルダーと「いちご」を含むレジストリ エントリを削除します。次に、Padre IDE v5.14 を使用した perl の新規インストール - デバッグ機能がエラーの特定に役立つ可能性があります。同じモジュール (Astro::FITS::Header、Convert::UU、OpenGL、PGPLOT) のインストールを開始しました。Astro と Convert は正常に動作しましたが、OpenGL は ExtUtils::F77 に関するエラーをスローし始めました。これは、さらに数時間検索した後に明らかに欠落しています。このモジュールをインストールしようとすると、「gfortan」が不明なコマンドであるというエラーが表示され続けます... PDL の考え方は fortran と C を避けることであると理解していましたが、このインストールの問題に関する情報はほとんど見つかりませんでしたこれまでのところ。
そこで、別のアプローチを試すことにしました。ppm モジュールを cpan からインストールし、ppm コマンドを使用して最初のインストール プロセスを繰り返しました。今回私は得る:
「不明な要素 'PROVIDE' が SOFTPKG 内で見つかりました。C:/Dwimperl/perl/site/lib/PPM.pm 行 1462 にあります。」
だから私の質問は次のとおりです。
インストール プロセスの重要なステップが抜けていませんか? 私のシステムはこれを本当にひどく処理していますか?もしそうなら、何らかの回避策はありますか? 2 つの異なるバージョンを試したことが、この問題の根底にある可能性のあるパスの問題を引き起こす可能性がありますか?
Windows 10に特定のperlインストールでPDLをインストールするための代替の、できればあまり複雑ではないルートを誰かが提供できますか?
編集1:
これは、PDL の明らかな前提条件である Inline::C をインストールしようとして得たエラーのコードです。
code deleted to make space for updates...
編集3:
PATHを変更するのではなく、PATHで指定されたディレクトリにGnuWin32を再インストールし、インストールを再試行しました。Inline::C は、同じ 'diff' および 'rm' エラーを出しました。そこで、「cpanm --notest 'package'」を実行して Inline::C をインストールし、次に PDL をインストールしましたが、どちらも成功したとのことでした。ただし、「--notest」を使用しても、cpanm は OpenGL と PGPLOT をインストールできませんでした。
最終的な目的は、PGPLOT の関数を使用してグラフィックスを生成できるようにすることです。たとえば、
# use PDL;
# use PDL::Graphics::PGPLOT;
# imag(sin(rvals(200,200)+1));
もちろん、PGPLOT がインストールできない場合、これは機能しません。
編集4:
@Dr.Avalange が sourceforge https://sourceforge.net/p/pogl/bugs/26/で見つけた修正を試してみたところ、このファイルの複数のコピーがあるように見えることに気付きました。
これって普通…?
編集 5: そこで、perl をアンインストールし、%APPDATA%、%USERPROFILE%、および C:/DWIM に残っているファイルをすべて削除してから、何か見逃した場合に備えて ccleaner を実行しました。
次に、Windows 用の Strawberry perl 5.24.1 x64 をダウンロードしてインストールしました。
この後、 http ://pdl.perl.org/?page=install に従って、「cpanm Astro::FITS::Header」、cpanm「Convert-UU」、および「cpanm OpenGL」を実行しました。これはすべてうまくいきました。次に、Inline、Pegex、Win32::Mutex、および Module::Compile の依存関係をインストールする「cpanm PDL」を実行しました。ただし、前述の Inline::C で同じエラーが発生した場合。
以前に GetGnuWin32 をインストールしていたので、なぜこれが機能しないのかわかりません。Windows の「パス」環境 (PATH ではない - これは、高度なシステム ダイアログによると存在しません) は、次のように記述されています。
%USERPROFILE%\AppData\Local\Microsoft\WindowsApps; このディレクトリには、GetGnuWin32 というフォルダがあり、提供したリンクからすべてのパッケージをインストールする必要があります。そこで、DiffUtils セットアップを再ダウンロードして実行し、\programfiles(x86) にインストールしました (デフォルト オプション)。次に、「cpanm PDL」を再実行しました。
同じ 'diff' エラー メッセージが表示されます。では、DiffUtils は適切にインストールされていませんか? (試行間およびインストール後にコマンドラインを閉じて再度開きました)
編集6:
--notetest を使用して PDL と PGPLOT をインストールした後、次のテストを実行しようとしましたが、失敗しました。下記参照
C:\Windows\system32>perldl
perlDL shell v1.357
PDL comes with ABSOLUTELY NO WARRANTY. For details, see the file
'COPYING' in the PDL distribution. This is free software and you
are welcome to redistribute it under certain conditions, see
the same file for details.
ReadLines, NiceSlice, MultiLines enabled
Reading PDL/default.pdl...
Found docs database C:/Strawberry/perl/site/lib/PDL/pdldoc.db
Type 'help' for online help
Type 'demo' for online demos
Loaded PDL v2.017 (supports bad values)
Note: AutoLoader not enabled ('use PDL::AutoLoader' recommended)
pdl> use PDL::Graphics//PLplot
Unknown regexp modifier "/P" at (eval 62) line 4, at end of line
Unknown regexp modifier "/L" at (eval 62) line 4, at end of line
Unknown regexp modifier "/t" at (eval 62) line 4, at end of line
BEGIN not safe after errors--compilation aborted at (eval 62) line 5, <DATA> line 207.
pdl> use PDL::Graphics::PLplot
Can't locate PDL/Graphics/PLplot.pm in @INC (you may need to install the PDL::Graphics::PLplot module) (@INC contains: C:/Strawberry/perl/site/lib/MSWin32-x64-multi-thread C:/Strawberry/perl/site/lib C:/Strawberry/perl/vendor/lib C:/Strawberry/perl/lib .) at (eval 72) line 5.
BEGIN failed--compilation aborted
pdl> use PDL
pdl> use lib 'C:/Strawberry/perl/site/lib/PDL/Graphics'
pdl> use PGPLOT
pdl> use PDL::Graphics::PGPLOT
pdl> imag(sin(rvals(200,200)+1))
Undefined subroutine &PDL::Graphics::PGPLOT::pgqinf called at C:/Strawberry/perl/site/lib/PDL/Graphics/PGPLOT.pm line 408, <DATA> line 90.
pdl> exit
C:\Windows\system32>cpanm PDL::Graphics::PGPLOT::pgqinf
! Finding PDL::Graphics::PGPLOT::pgqinf on cpanmetadb failed.
! Finding PDL::Graphics::PGPLOT::pgqinf () on mirror http://www.cpan.org failed.
! Couldn't find module or a distribution PDL::Graphics::PGPLOT::pgqinf
C:\Windows\system32>cpan PDL::Graphics::PGPLOT::pgqinf
Loading internal null logger. Install Log::Log4perl for logging messages
CPAN: CPAN::SQLite loaded ok (v0.211)
Database was generated on Thu, 13 Apr 2017 13:49:14 GMT
C:\Windows\system32>
すでにディレクトリの問題がありましたが、私が考えていた正しい方向に向けることができました。また、PLplot 'cpanm' をインストールしようとすると、インストールは成功したが、.pm ファイルはなく、別のディレクトリに .pd しかないため、PDL::Graphics::PLplot の使用は、.pm ファイルが見つからないため失敗します。
EDIT:7ppm install http://www.sisyphusion.tk/ppm/PGPLOT.ppd
あなたが提供した説明のリンクが使用されなくなったため、今回は再試行がうまくいったようです
http://www.kalinabears.com.au/w32perl/pgplot-5.2.2-mingw32.tar.bz2
http: //jrfonseca.home.dyndns.org/projects/gnu-win32/software/ported/patches/pgplot-5.2.2-mingw32.diff.gz
これは機能しているように見えましたが、リストされたファイルの痕跡はありませんこの特定の方法のためだけでない限り、インストールに必要に応じて?
pgplot/bin/cpgplot.dll
pgplot/bin/pgplot.dll
pgplot/bin/grfont.dat
pgplot/include/cpgplot.h
pgplot/lib/cpgplot.a
pgplot/lib/pgplot.a
最後に、例をもう一度試すと、次のようになります。エラーはありませんが、画像もありません...
Microsoft Windows [version 10.0.14393]
(c) 2016 Microsoft Corporation. Tous droits réservés.
C:\Windows\system32>perldl
perlDL shell v1.357
PDL comes with ABSOLUTELY NO WARRANTY. For details, see the file
'COPYING' in the PDL distribution. This is free software and you
are welcome to redistribute it under certain conditions, see
the same file for details.
ReadLines, NiceSlice, MultiLines enabled
Reading PDL/default.pdl...
Found docs database C:/Strawberry/perl/site/lib/PDL/pdldoc.db
Type 'help' for online help
Type 'demo' for online demos
Loaded PDL v2.017 (supports bad values)
Note: AutoLoader not enabled ('use PDL::AutoLoader' recommended)
pdl> use PDL
pdl> use PDL::Graphics::PGPLOT
pdl> imag(rvals(200,200)+1)
%PGPLOT, Unable to read font file: grfont.dat
%PGPLOT, Use environment variable PGPLOT_FONT to specify the location of the PGPLOT grfont.dat file.
Displaying 200 x 200 image from 1 to 142.421356201172, using 240 colors (16-255)...
pdl> $ENV{PGPLOT_FONT} = "C:/Strawberry/perl/site/lib/PGPLOT/pgplot_supp"
pdl> imag(rvals(200,200)+1)
Displaying 200 x 200 image from 1 to 142.421356201172, using 240 colors (16-255)...
pdl>