分類
程序

Eclipse用法

我是在ubuntu12.04上用的adt-bundle,安装好Sun Java后解压就可以使用了。关于ubuntu12.04上安装Sun Java,参考Ubuntu安装SunJava

为Eclipse安装WindowBuilder

In order to install WindowBuilder on Eclipse 4.3 (Kepler) Modeling let’s click on Help -> Install New Software… and choose (into “Work with:” field ) the main Kepler Update Site (http://download.eclipse.org/releases/kepler), expand the Category “General Purpose Tools” (make sure that “Group items by Category” flag be selected) and choose the following items:

  • SWT Designer
  • SWT Designer Core
  • WindowBuilder Core
  • WindowBuilder Core UI
  • WindowBuilder GroupLayout Support
  • WindowBuilder Java Core

Then press the Next button and follow the wizard until it asks to restart Eclipse. Let’s accept pressing Restart Now button. If you download instead the package Eclipse 4.3 (Kepler) for RCP and RAP Developers WindowBuilder is included.

分類
Linux

pip3为python3安装模块

Ubuntu 14.04对硬件的要求还是稍高,笔记本有些力不足。Ubuntu 12.04默认是python2,用pip安装模块后也是为python2安装的。想要在Ubuntu 12.04给python3安装需要先安装pip3:

sudo apt-get install python3-setuptools
sudo easy_install3 pip

然后就可以使用pip3为python3安装模块了,如:

pip3 install lxml
pip3 install lxml==4.5.0
pip3 install lxml>=4.5.0
#重新安裝指定版本
pip3 install lxml==4.5.0 --force-reinstall
#製作與使用requirements文件
pip freeze > requirements.txt
pip install -r requirements.txt

剛剛安裝numpy,網速令人抓狂,掛上代理就好多了(沒有合適代理可用下面方法指定國內軟件源):

pip3 install --proxy http://127.0.0.1:8123 numpy

使用重裝大法解決 pip 出現各種疑難

curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
python3 get-pip.py --force-reinstall
ln -s 目標文件 鏈接文件
ln -s /usr/local/bin/python3.5 /usr/bin/python3

ImportError: No module named _internal.cli.main 可以嘗試把 pip 文件的 from pip._internal import main 修改為 from pip import main

Centos 或 Fedora 安裝python3

其實centos安裝python3就和安裝其他軟件一樣,從官網下載,然後解壓,三扳斧搞定。那我為什麼要記下來呢,只是感嘆下,這麼厲害的軟件居然這麼好裝,哈哈哈!

#for sqlite3
yum install sqlite-devel
#for virtualenv
yum install zlib-devel
#其他依賴
yum install libffi-devel openssl-devel xz-devel bzip2-devel
#然后
wget https://www.python.org/ftp/python/3.9.11/Python-3.9.11.tar.xz
tar xf Python-3.9.11.tar.xz
./configure --prefix="/usr/local" --enable-optimizations --enable-loadable-sqlite-extensions
make
sudo make install

##如果上面編譯的時候加了指定的參數,就不用看下面這幾行了
# centos7 安裝 python3.7的時候要安裝
yum install libffi-devel openssl-devel
# configure 也要加上 --with-ssl
./configure  --with-ssl
#解決的是 No module named '_ctypes'
#和 No module named '_ssl'

python3沒有_tkinter

如果安裝python3時沒有裝tkinter,那麼很可能會遇到這個錯誤:ImportError: No module named _tkinter,我在使用pandas導出圖表時就遇到了。CentOS下經過嘗試,先安裝下面兩個軟件,然後再次執行上面的三扳斧,就有_tkinter模塊啦。

yum install tkinter
yum install tk-devel

Ubuntu下我的python3.5是系統自帶的,所以直接安裝下面的軟件即可。

sudo apt-get install python3-tk
sudo apt-get install tk-dev

Fedora自帶python3,但是也沒有自帶_tkinter,這時只要安裝dnf install python3-tkinter就可以了。

使用 Python 自帶的 venv 模塊建立虛擬環境

自帶的 venv 模塊可以直接使用,可以搭配 pip freeze > requirements.txtpip install -r requirements.txt 來遷移環境。

#在當前目錄建立虛擬環境
python3.11 -m venv my_venv
啟用虛擬環境
source my_venv/bin/activate
#直接使用 pip 安裝需要的依賴即可
#推出虛擬環境
deactivate
#刪除虛擬環境
rm -rf my_venv
#以虛擬環境運行 Python 項目
my_venv/bin/python YOUR_SCRIPT.py

使用 pipenv 建立虛擬環境

#如果主環境沒有 pipenv,則需先安裝
pip install pipenv
#建立一個 Python 3.11 的虛擬環境
pipenv --python 3.11
#如果系統沒有 Python 3.11 則需要你先安裝或編譯,我推薦安裝系統編譯好的
sudo dnf install python3.11 python3.11-devel

#安裝依賴
pipenv install <package_name>

#刪除依賴
pipenv uninstall <package_name>

#檢查安全漏洞
pipenv check

#啟用虛擬環境
pipenv shell

#退出虛擬環境
exit

#在當前文件夾運行 Python 項目
pipenv run YOUR_SCRIPT.py

#查看虛擬環境的具體位置
pipenv --py
#/home/42/.local/share/virtualenvs/scripts-t2tF_lNI/bin/python
#使用虛擬環境運行 Python 項目
/home/42/.local/share/virtualenvs/scripts-t2tF_lNI/bin/python /home/42/workspace/scripts/YOUR_SCRIPT.py

#刪除虛擬環境
pipenv --rm

#恢復虛擬環境。進入 Pipfile 和 Pipfile.lock 所在目錄
pipenv install

使用virtualenv才是解決多python版本的好方法(過時)

多版本的Python及virtualenv的安裝請參考:在CentOS 6.4上设置Python 2.7.6和3.3.3环境,我這裡簡單記下virtualenv的使用。使用virtualenv不必使用高權限。

#centos安裝pip和virtualenv
#Step1
##For RHEL 7.x and CentOS 7.x (x86_64)
yum install epel-release
#Step2
yum install -y python-pip
#Step3
pip install virtualenv
#Fedora裝virtualenv
dnf install python3-pip
dnf install python3-virtualenv
#在當前目錄新建一個python環境
cd pythons
#查看python所在目錄
whereis python
#生成python2.7的環境
virtualenv --python=/usr/local/bin/python2.7 p27
#或生成python3.5的環境
virtualenv --python=/usr/local/bin/python3.5 p35
#如果報ImportError: No module named zlib,centos下可安裝zlib-devel
#然後重新對python執行make和make install
cd p27
#啟用python2.7的環境
source bin/activate
#退出當前環境
deactivate

pip使用國內軟件源

有時網絡環境惡劣,pip裝組建時經常遇到中斷,可以通過下面命令使用國內的軟件源進行安裝。

#豆瓣
pip install numpy -i https://pypi.douban.com/simple/
#阿里雲
pip install virtualenv --trusted-host mirrors.aliyun.com -i http://mirrors.aliyun.com/pypi/simple

如果想永久修改pip的軟件源,可以修改~/.pip/pip.conf(centos下root用戶為/root/.pip/pip.conf)內容如:

[global]
trusted-host =  mirrors.aliyun.com
index-url = http://mirrors.aliyun.com/pypi/simple

fedora安裝psutil出現No such file

可能是沒有安裝dev和redhat-rpm-config

#python2
dnf install python-devel
#python3
dnf install python3-devel
#redhat-rpm-config
dnf install redhat-rpm-config

本文更新於 2024/03/01。

分類
說說

14060311

aiweiwei

纪念谷歌再次被封:

分類
程序

github用法小记

github还是挺复杂的,记录下免得下次还得搜。首先按照官方文档在网页上建好项目,本地进入对应目录初始化号帐号。然后添加remote:git remote add origin_loc https://github.com/pggdt/项目名.git。然后git pull origin_loc master同步一下。最后将本地的修改提交到github:git commit可以查看本地修改过的文件。git add 文件名,可以添加等下要上传的文件。添加后再用git commit为修改做评价。最后git push origin_loc master就提交完成了。

我就是这么做的,不保证是最正确的做法,有更好意见的请提出来。

網頁註冊賬號,本地安裝git。如果想使用SSH鑒權,秩序把本機的~/.ssh/id_rsa.pub文件內容添加到https://github.com/settings/keys即可。進入要存放項目的目錄,執行git clone [email protected]:pggdt/ulogger-server.git克隆github上的項目到本地。創建cn分支來實現自己的feature git checkout -b cn。然後通過編輯器編輯代碼,完成後通過git status查看變化的文件。通過git add changedFile 來添加文件。通過 git commit -m "更新內容"來提交更新。最後推送到github上git push origin cn。

本文更新於 2018/01/25。

分類
其它

信用网查询公司信息

通过各地的信用网可以查询到公司的注册信息法人信息等,像深圳的还能查询到公司的社保参保人数。一般大城市都有信用网供大家查询,当遇到不明公司时最好是先查一查。

分類
软件

defraggler-Win下好用的磁盘整理

defraggler

defraggler比XP自带的磁盘碎片整理好用很多。对于由磁盘碎片导致的系统缓慢效果显著。

分類
程序

python3批量下图

又发现一个图集,用python3抓下:

import urllib.request def main(): url='http://cdn.test.com/downloads/character' path='/home/me/Pictures/paper/paper-' for i in range(1,400): ii='' if i<10: ii="00"+str(i) elif i<100: ii="0"+str(i) else: ii=str(i) url=url+ii+".jpg" print (url) h='' try: doc=urllib.request.urlopen(url) h=str(doc.info()) except urllib.error.HTTPError: print(ii+'is not exist') if('jpeg' in h): path=path+ii+".jpg" data = urllib.request.urlopen(url).read() f = open(path,"wb") f.write(data) f.close() path='/home/me/Pictures/paper/paper-' print (str(ii)+"OK") url='http://cdn.test.com/downloads/character' if __name__ == "__main__": main()[/code]

有两点改变,python2 import的是urllib,这里用到urlopen,需要import urllib.request。还有就file已经不用了,换成open就好了。getheader函数也没有了。可以对比下python2版本的另一篇python批量下图