New FAMILUG

The PyMiers

Showing posts with label pip. Show all posts
Showing posts with label pip. Show all posts

Thursday, 6 July 2017

Không sudo pip, hãy virtualenv

- "Mình không cài bằng pip được..."
- "chạy sudo pip ... nhé "

Đó là những câu hỏi và trả lời thường xuất hiện, khi người ta nói về pip. Đây là vấn đề chung với những người dùng không hiểu về phân quyền trên UNIX và thường sẽ làm mọi thứ trở nên rắc rối thêm bằng cách chạy sudo.

## sudo - câu lệnh thần thánh


Một mẩu truyện nhỏ cho thấy sức mạnh của `sudo`, khi ta nói mà đối phương không nghe, thêm `sudo` vào đầu là mọi thứ đều sẽ hoạt động.

### sudo - SUperuser DO

Trên các hệ điều hành *NIX có chia ra nhiều user để nhiều người  dùng chung một máy tính. Trong đó, mọi máy tính luôn có user `root` - user có quyền năng tối thượng, thường được gọi là quyền admin hay superuser, có thể thực hiện bất kỳ thay đổi gì trên máy tính. Do có quyền năng vô hạn như vậy, nên khi thực hiện việc gì cũng ẩn chứa nguy hiểm, một câu lệnh gõ nhầm cũng có thể phá huỷ hệ thống, và nếu như ai cũng là root thì hệ thống sẽ loạn, người dùng không hiểu biết có thể cài đặt các loại virus/malware lên máy tính (hi Windows).

Để giải quyết vấn đền này, người ta sản xuất ra phần mềm tên "sudo", cho phép cấp quyền cho các user nhất định. Với sự tồn tại của sudo, người ta thay đổi cách dùng máy tính:

Friday, 26 August 2016

[Python] Tải nhạc từ youtube bằng dòng lệnh

Lên mạng có bài nhạc hay,
cảm thấy có tội nếu không tải về 😜
download youtube bang python

youtube-dl 

là công cụ tải nhạc bằng dòng lệnh, một trong các top star repo GitHub viết bằng Python

Cài đặt
$ pip install youtube-dl
Collecting youtube-dl
  Downloading youtube_dl-2016.8.24.1-py2.py3-none-any.whl (1.4MB)
    100% |████████████████████████████████| 1.4MB 302kB/s
Installing collected packages: youtube-dl
Successfully installed youtube-dl-2016.8.24.1

Tải nhạc

Thursday, 14 April 2016

[python] test python đơn giản như giật một sợi tox

Bài viết tiếp theo của "Người ta test/CI thế nào?"
...

Là một sysadmin, anh Chuối rất tự hào mình có khả năng viết Python giỏi như viết bash.
Hễ khi cần viết script ngắn ngắn, anh lại bật ngay vim lên và viết từng dòng thơ bằng ngôn ngữ bash, sau đó dành nửa ngày còn lại để debug tại sao nó lại không chạy. Câu chuyện cũng vậy mỗi lần anh Chuối viết script để tự động quá trình test, build phần mềm, cụ thể ở đây là một Python module.

Các bước phải làm:
  • đầu tiên là tạo virtualenv
  • rồi source virtualenv
  • chạy pip install -r requirements.txt
  • chạy flake8 kiểm tra lỗi pep-0008
  • chạy pylint kiểm tra lỗi lint 
  • install module (python setup.py install) rồi chạy test
  • chạy test bằng py.test tests/ hoặc một cách nào đó khác
  • public package nếu test thành công (python setup.py sdist)
  • dọn dẹp, rửa ráy sau khi xong xuôi.
Tuỳ thuộc vào tâm trạng của anh Chuối, công việc này có thể suôn sẻ hoặc không, tuỳ giời nữa.
Vậy một ngày anh Chuối sang tây, thấy mấy anh Chuối tây vì làm việc này nhiều quá, nên sinh chán nản, và đẻ ra một cái tool có tên là "tox".

Sunday, 22 December 2013

Danh sách các package manager của các ngôn ngữ lập trình

Các package manager chính là một phần không nhỏ làm nên thành công của các ngôn ngữ lập trình hiện đại. Nó giúp lượng thư viện trở nên khổng lồ, cần gì có nấy, và cách dùng chúng khá giống nhau :D

1,Pip - Python

Cài đặt một package:

pip install package_name

2. Gem - Ruby
gem install package_name

3. NPM - Node.js
npm install package_name