Windows 10 的視窗不見了

 

Windows 10 執行程式之後,卻看不到視窗,但是,底下的工作bar卻有出現,Alt+TAB也可以看到應用程式在執行…

只好請出 Google 大神,找到 Microsoft 網站上的解答:

https://answers.microsoft.com/zh-hant/windows/forum/windows_10-start/%E6%A1%8C%E9%9D%A2%E4%B8%8D%E8%A6%8B%E4%BA%86/d3e62d0c-c178-4d21-969c-94e34d6ab1a3?auth=1

結果真是令人失望,還好這篇有解法:

http://ilyvonne.pixnet.net/blog/post/26863403-視窗跑到螢幕外-該怎麼辦?

整理一下步驟:

1.從底下的工作bar,點選到應用程式

2.【Alt+space】

3.【移動(M)】

4.使用上下左右的方向鍵,或是 mouse,將視窗【拖】回正常的位置

謎之音…好爛的 bug !

廣告
張貼在 Bookmark, Windows, Windows 10, Windows 2016 | 發表留言

python 網頁爬蟲與 Docker 整合

 

使用 python 網頁爬蟲,除了需要注意 python 版本【2.x 或是 3.x】,還要注意 module 是否安裝,以及 module 的版本是否正確,不然,就會出現錯誤訊息…

image

以這個例子來看,python版本不對,source code 是 3.x 版,系統的 python 只有 2.x 版,還有,相關的 python module 也沒安裝…

https://hub.docker.com 找一下現成的 Docker images

docker search pandas

image

這裡以【gwidx/pandas-python:latest】為例:

它是 Debian 8.x + python 3.x + pip 8.x

docker pull gwidx/pandas-python:latest

image

先安裝 vi,等一下用來編輯 python script

docker run -i -t gwidx/pandas-python bash

apt-get update

apt-get install vim -y

image

更新 pip

pip install –upgrade pip

image

安裝其他相關 module

pip install beautifulsoup4

pip install html5lib

pip install lxml

pip install numpy

pip install python-dateutil

pip install pytz

pip install six

image

移除 pandas 0.18.x,安裝 pandas 0.21.x

pip uninstall pandas -y

pip install pandas

image

執行 python 爬蟲,抓臺灣銀行的外匯

python /usr/src/app/currency.py

image

python script 如下:

#-*- coding: utf-8 -*-
# 2017.11.27 Mon Version 0.0.1
#   在 Linux Docker 上可以執行的版本
import pandas
data=pandas.read_html(‘http://rate.bot.com.tw/xrt?Lang=zh-TW’)

currency=data[0]
currency.iloc[:,0:5]
currency=currency.iloc[:,0:5]

currency.columns=[u’幣別’,u’現金匯率-本行買入’,u’現金匯率-本行賣出’,u’即期匯率-本行買入’,u’即期匯率-本行賣出’]

currency[u’幣別’]=currency[u’幣別’].str.extract(‘\((\w+)\)’)
print(currency)

環境都確定無誤,準備要客製化 Docker image

先確認 container 的名稱,剛剛沒有指定,docker 會自動 assing

docker ps -a

image

先 commit 一個新的 image

docker commit -m “Python3 + pandas" thirsty_morse9 python3_pandas

thirsty_morse9】是 container 的名稱

python3_pandas】是新的 image 的名稱

image

將 image 匯出成檔案

docker save –output=/root/python3_pandas.tar python3_pandas

/root/python3_pandas.tar】是指定匯出的檔案名稱

python3_pandas】是哪一個 image 需要匯出

image

最後再 zip 壓縮

gzip /root/python3_pandas.tar

image

要將這個客製化的 Docker image 上傳到 https://hub.docker.com/ 當然是可以,這裡先離線方式使用,另外找台機器【server1】測試…

docker load -i /root/python3_pandas.tar.gz

image

看看是不是直接就可以 python 網頁爬蟲,擷取最新的台灣銀行外匯資料…

docker run -i -t python3_pandas:latest python ./currency.py

image

在【server1】這台全新的機器,只需要匯入客製化過後的 Docker image,立馬就可以 python 爬蟲擷取網頁,Docker 的確是應用程式開發/部屬/測試 非常好用的工具!

張貼在 Bookmark, CentOS 6, CentOS 7, Cloud雲端, container, Docker, 虛擬化, Linux, python, RHEL 6, RHEL 7, ubuntu | 發表留言

在 RHEL 7 安裝 Python 3.x 版

 

RHEL 7.0 預設的 python 是 2.7 版

image

官網【https://www.python.org/ftp/python/】目前最新的版本是 3.7,但是,compile 之後怪怪的,這裡先以 3.6.3 版為例:

image

image

官網【https://www.python.org/downloads/】是使用 GnuPG 的方式驗證

image

匯入 python 的 GnuPG public key 之前,先看看目前的 public key 清單

gpg –list-keys

image

從 key server【http://pgp.mit.edu】下載 public key

gpg –recv-keys 6A45C816 36580288 7D9DC8D2 18ADD4FF A4135B38 A74B06BF EA5BBD71 E6DF025C AA65421D 6F5E1540 F73C700D 487034E5 –keyserver pgp.mit.edu

image

再次檢查 GnuPG public key,應該會看到一堆

gpg –list-keys

image

下載 python 3.6.3

cd /tmp

wget https://www.python.org/ftp/python/3.6.3/Python-3.6.3.tgz.asc

wget https://www.python.org/ftp/python/3.6.3/Python-3.6.3.tgz

image

使用 GnuPG public key 檢查檔案是否一致?

gpg –verify Python-3.6.3.tgz.asc

image

如果下載不完整或檔案損毀,會出現錯誤訊息

image

重新再 download 一次

image

安裝 compile 需要使用的 RPM 套件

yum install zlib-devel openssl-devel readline readline-devel sqlite-devel tkinter ncurses-static ncurses-base ncurses-term gcc -y

RHEL 7 並沒有【tkinter】【ncurses-static】,不用理會…

image

解開 source code

tar zxvf Python-3.6.3.tgz

image

configure,利用 logical AND,如果 configure 成功,則顯示 OK 在螢幕上

cd Python-3.6.3/

./configure –prefix=/usr/local && echo OK

image

看到 logical AND 顯示的【OK】,表示 configure 成功。

image

compile source code,這裡是一個 core 的 CPU,所以,參數是 -J1

make -j1 && echo OK

image

image

安裝

make install && echo OK

image

image

compile 完成之後,會是 python 2.x 跟 3.x 並存的環境

ls -l $(which python)

ls -l $(which python3.6)

image

這裡先不理會 python 2.x 跟 3.x 版的語法差異

image

最後,將剛剛的動作,全部包成一個 shell script

#!/bin/bash
# Version 0.0.1 Nov,20 2017 Anderson Wang
#################################################
PWD=$(pwd)
cd /tmp
gpg –list-keys
gpg –recv-keys 6A45C816 36580288 7D9DC8D2 18ADD4FF A4135B38 A74B06BF EA5BBD71 E6DF025C AA65421D 6F5E1540 F73C700D 487034E5 –keyserver pgp.mit.edu
gpg –list-keys
wget
https://www.python.org/ftp/python/3.6.3/Python-3.6.3.tgz.asc
wget https://www.python.org/ftp/python/3.6.3/Python-3.6.3.tgz
gpg –verify Python-3.6.3.tgz.asc
yum install zlib-devel openssl-devel readline readline-devel sqlite-devel tkinter ncurses-static ncurses-base ncurses-term gcc -y
tar zxvf Python-3.6.3.tgz
cd Python-3.6.3
./configure –prefix=/usr/local && echo OK
make -j1 && echo OK
make install && echo OK
ls -l $(which python)
echo
ls -l $(which python3.6)

 

image

直接執行 shell script,就可以安裝 python 3.x 版了

image

image

大約幾分鐘時間,python 3.x 版就 compile 完成!

張貼在 Bookmark, CentOS 6, CentOS 7, Linux, python, RHEL 6, RHEL 7 | 發表留言

在 Windows 10 安裝 python 3.x 版

 

連線到 https://www.python.org/downloads/

image

下載最新的 python,這裡是 3.6.3 版

image

執行安裝程式

image

點選最底下的【Add Python 3.6 to PATH】,然後點選【Install Now】

image

image

從選單中,會看到 Python 的相關選項

image

從 cmd 執行 python

image

來個 Hello World 吧!

print (“Hello World!!")

image

執行 IDLE 試試

image

一樣來個 Hello World

image

image

編輯 C:\Python\HelloWorld.py

image

從 Comand Line 執行 python script

image

無論是呼叫 python 執行,或是直接執行,都可以正常運作!

pip 已經一併安裝,不用再另外安裝 pip 了

image

張貼在 python, Windows, Windows 10 | 發表留言

直接連線到 VMware Workstation NAT 之內的虛擬機

 

VMware Workstation 的虛擬機,網路連線只要是選擇【NAT】,將會是內到外可以正常存取,外到內是無法連線的!

image

從選單看到的設定是

【開始】->【VMware】->【Virtual Network Editor】

image

點選【NAT Settings】,可以看到進階的設定

image

點選【Add】,新增 NAT 的 Port Forwarding 規則

image

只要是連線到 VMware Workstation 那台機器的 TCP(3390),就 forward 到 NAT 內部的 192.168.163.128 的 TCP(3389)

image

NAT 內的虛擬機,要先開放遠端登入,關閉 firewall,設定密碼…

從別台機器,連線到TCP(3390)

image

這樣就可以從外面的電腦,直接連線到 VMware Workstation NAT 內部的虛擬機了!

張貼在 虛擬化, VMware, Windows, Windows 10 | 發表留言

Adobe Reader 的 shortcuts【快捷鍵】

 

Ctrl+F –> 尋找

F3 –> 往下找

Shift+F3 –> 往上找

其他 shortcuts,可以參考:https://shortcutworld.com/Adobe-Reader/win/Adobe-Reader_X_Shortcuts

張貼在 Bookmark, Linux, RHEL 6, RHEL 7, Windows, Windows 10, Windows 2016 | 發表留言

從 Linux 自動登入 ESXi 主機

 

跟 Linux 遠端自動登入 Linux 非常像,也是產生一組 key pair,將 public key 複製到 ESXi

ESXi 主機開啟 SSH 服務,並開放 firewall 之後,預設登入之後,會詢問 ESXi 的 root 密碼

image

在 Linux 主機,產生一組 RSA 的 key pair,passphrase設定為空白

ssh-keygen -t rsa

image

將 Linux 的 public key,複製到 ESXi 主機,為了避免將原來 ESXi 主機上的 key 覆蓋【overwrite】,這裡先 copy 到 ESXi 的 /tmp

scp /root/.ssh/id_rsa.pub root@esxi01:/tmp/.

image

再來到 ESXi 主機,觀察現在的 key

ls -l /tmp/id_rsa.pub

ls -l /etc/ssh/keys-root/authorized_keys

image

將 Linux 主機的 public key,附加【append】在 authorized_keys

cat /tmp/id_rsa.pub >> /etc/ssh/keys-root/authorized_keys

image

這樣就算是大功告成,基本方法跟 Linux 一樣,只是檔案改成 /etc/ssh/keys-root/authorized_keys

實際上測試一下…

image

scp 也是一樣不用密碼,從 Windows 登入 ESXi 主機,基本上也是一樣的方式,也可以設定成直接登入,不用回答密碼!

張貼在 CentOS 6, CentOS 7, 網路, 虛擬化, Linux, RHEL 6, RHEL 7, ubuntu, VMware | 發表留言