2021年08月27日

PowerShellを起動するとconda.exeのエラーが表示されるのを改善する方法 このエントリーをはてなブックマークに追加

Anacondaをアンインストールした後コマンドプロンプトが起動しなくなったのだが、前回の記事で何とか修正できたのだが、今度はPowerShellが起動していないことに気づいた。
powershell_error.png
エラーメッセージを見てみると
'C:\Users\ryouchi\anaconda3\Scripts\conda.exe' は、コマンドレット、関数、スクリプト、ファイル、または操作可能なプログラムの名前として認識されません。名前が正しく記述されていることを確認し、パスが含まれている場合はそのパスが正しいことを確認してから、再試行してください。
発生場所 'C:\Users\ryouchi\Documents\WindowsPowershell\profile.ps1:4 文字:4
などとエラーが出ていた。

「うーむ。これはなんだ?」

C:\Users\ryouchi\Documents\WindowsPowershell\

を見てみると、「profile.ps1」というファイルはある。
profile.ps1.png

中身を見てみるとこんな感じ。

profile.ps1_inner.png
「profile.ps1」の中でアンインストールしたAnacondaの実行ファイル「conda.exe」を実行しようとしている。
どうやらこれがエラーの原因のようだ。

ということで、「profile.ps1」を削除し、再度PowerShellを起動したところ、無事PowerShellがエラーなしで起動した。
powershell_noerror.png
ほんま、コマンドプロンプトの件といい、PowershellといいAnacondaのWindows開発者、アンインストール時のお作法が全然なってないな。
すべてキレイにアンインストールするようにしてください。
posted by りょーち | Comment(0) | 海外オモシロネタ

2021年04月21日

Anacondaをアンインストールした後コマンドプロンプトが起動しなくなった時の解決方法 このエントリーをはてなブックマークに追加

少し前にpythonの環境構築のためAnacondaをインストールしてみたのだがあまりしっくりこなかったので結局アンインストールしたのだがそこから地獄が始まった。

ファイル名を指定して実行から「cmd.exe」を起動しようとしたがコマンドプロンプトが起動しなくなった。
いや、起動はしているのだが、すぐに落ちるという謎の現象が起こっていた。
Anaconda以外にもpythonのその他のライブラリなどもインストールしていたので正直原因が掴めていなかった。
別のユーザでログインするとコマンドプロンプトは正常に起動するのでこのユーザのみに起こっている不具合であることまでは確かめられた。
しかし、いろいろ検索しても全く理由がわからないまま1か月くらい過ぎた。

今日ダメ元で検索してみたら以下のページがヒットした。
anacondaをアンインストールした後、Cmdが終了コード1でクラッシュする
そうなの、これなの!
解決策を見てみたら、

以下のレジストリにレジストリ値AutoRunがある場合は、AutoRunレジストリ値を削除する必要があります
\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Command Processor

お!?こ、これなんか??ただ、私の場合は自分のユーザだけなので、
\HKEY_CURRENT_USER\SOFTWARE\Microsoft\Command Processor

を探してみた。すると、

AutoRunレジストリあったよ!お前かー!

AutoRunの値を見ると「 if exist 」で中途半端に止まっている。(おい、コラ)
これが原因でおそらくコマンドプロンプトが終了してしまったのではないかと思う。

HKEY_CURRENT_USER\SOFTWARE\Microsoft\Command Processor
のAutoRunレジストリ値をそっと削除する。
そして、恐る恐る「cmd.exe」を起動したところ、無事起動した!
お帰りなさい、コマンドプロンプト!

anaconda autorun

しかし、Anaconda、アンインストールするときにレジストリ元に戻しとけよな。お作法が悪いわ。
posted by りょーち | Comment(1) | 自分メモ

2021年01月10日

Windows 10にWSL2環境のUbuntu 20.04 LTSをインストールするメモ このエントリーをはてなブックマークに追加

ふと意味もなく冬休みにWindows10にUbuntuの環境でも作ってみるかということで作ってみた時のメモ。

WSL2の設定

Microsoftのページを元にWSL2の更新
Windows Subsystem for Linux (WSL) を Windows 10 にインストールする | Microsoft Docs
上記ページの手順に基づきUbuntu 20.04 LTSをインストール。基本的にこれだけでインストール完了。驚くほど何もしなくてええんやな。
さて動くのか試してみる
ryouchi@DESKTOP-3DLJ3DL:~$ uname -a
Linux DESKTOP-3DLJ3DL 4.19.128-microsoft-standard #1 SMP Tue Jun 23 12:58:10 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
ryouchi@DESKTOP-3DLJ3DL:~$ cat /etc/issue
Ubuntu 20.04.1 LTS \n \l
無事インストールできているっぽい。

ネットワークの設定

WSLなのでWindows環境下で動いているっぽいのだが、IPアドレスとかどうなってるんやろ?
ifconfigを実行したが
Command 'ifconfig' not found, but can be installed with:
sudo apt install net-tools
とのことだったので
ryouchi@DESKTOP-3DLJ3DL:~$ sudo apt install net-tools
としてみた。その後
ryouchi@DESKTOP-3DLJ3DL:~$ ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.191.220 netmask 255.255.240.0 broadcast 192.168.191.255
inet6 fe80::215:5dff:fe87:ac40 prefixlen 64 scopeid 0x20<link>
ether 00:15:5d:87:ac:40 txqueuelen 1000 (Ethernet)
RX packets 253 bytes 222617 (222.6 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 106 bytes 7453 (7.4 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
で、仮想マシンのIPアドレスがわかった。外部に公開するものではないのでこれでええやろ。

ftpサーバをインストール

Windowsとのデータのやりとりのためにftpが繋がるかやってみたがftpサービスがインストールされていなかったのでインストールしてみる。
ryouchi@DESKTOP-3DLJ3DL:~$ sudo apt install vsftpd

ryouchi@DESKTOP-3DLJ3DL:~$ sudo service vsftpd start
* Starting FTP server vsftpd /usr/sbin/vsftpd already running.

chkconfigの代わりにsysv-rc-confをインストール

どうやらchkconfigはないので代わりにsysv-rc-confをインストールするらしい。
ryouchi@DESKTOP-3DLJ3DL:~$ wget http://archive.ubuntu.com/ubuntu/pool/universe/s/sysv-rc-conf/sysv-rc-conf_0.99.orig.tar.gz
ryouchi@DESKTOP-3DLJ3DL:~$ tar zxvf sysv-rc-conf_0.99.orig.tar.gz
ryouchi@DESKTOP-3DLJ3DL:~$ cd sysv-rc-conf-0.99/
ryouchi@DESKTOP-3DLJ3DL:~$ sudo make install
ryouchi@DESKTOP-3DLJ3DL:~$ sudo apt install libcurses-ui-perl libterm-readkey-perl libcurses-perl
ryouchi@DESKTOP-3DLJ3DL:~$ sudo sysv-rc-conf
なんとなく動いた。

apacheのインストール

ryouchi@DESKTOP-3DLJ3DL:~$ sudo apt install apache2-bin
ryouchi@DESKTOP-3DLJ3DL:~$ sudo service apache2 start
Windowsから
bitsadmin /TRANSFER htmlget http://192.168.178.162/ c:\users\ryouchi\desktop\test.html
としてみると「Apache2 Ubuntu Default Page」がゲットできていたのでインストール完了。

phpのインストール

以下で紹介されている通りにインストールしてみたらすんなり動いた。
Ubuntu 20.04 LTS : Apache2 : PHP スクリプトを利用する : Server World
ryouchi@DESKTOP-3DLJ3DL:~$ sudo apt install php7.4-cli
ryouchi@DESKTOP-3DLJ3DL:~$ php -v
PHP 7.4.3 (cli) (built: Oct 6 2020 15:47:56) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
with Zend OPcache v7.4.3, Copyright (c), by Zend Technologies
ryouchi@DESKTOP-3DLJ3DL:~$ sudo apt -y install libapache2-mod-php php-common php-pear php-mbstring
ryouchi@DESKTOP-3DLJ3DL:~$ sudo a2enconf php7.4-cgi
ryouchi@DESKTOP-3DLJ3DL:~$ sudo vim /etc/php/7.4/apache2/php.ini
ryouchi@DESKTOP-3DLJ3DL:~$ sudo service apache2 restart
これでいろいろ遊べそうだな。
posted by りょーち | Comment(0) | 自分メモ