thư mục nhập có thể được trích xuất bằng cách thêm mã nguồn sau:
import sys
print sys.path
ví dụ tạo liên kết tượng trưng tự động sẽ là:
ln -s \`pip show em | grep "Location"| cut -d " " -f2\` \`python -m site --user-site\`
thay vì "em", bạn có thể sử dụng gói khác mà bạn "vừa cài đặt nhưng python không thể nhìn thấy nó"
bên dưới tôi sẽ giải thích chi tiết hơn khi được yêu cầu trong nhận xét.
giả sử bạn đã cài đặt em hoặc pyserial mô-đun python bằng lệnh sau (ví dụ dành cho ubuntu):
sudo pip install pyserial
và đầu ra như thế này:
Collecting pyserial
Downloading pyserial-3.3-py2.py3-none-any.whl (189kB)
100% |████████████████████████████████| 194kB 2.3MB/s
Installing collected packages: pyserial
Successfully installed pyserial-3.3
câu hỏi sẽ là sau - python không thể nhìn thấy mô-đun pyserial, tại sao? bởi vì vị trí mà mô-đun đã được cài đặt không phải là vị trí mà python đang xem xét cho tài khoản người dùng cụ thể của bạn.
giải pháp - chúng tôi phải tạo liên kết tượng trưng từ đường dẫn mà pyserial đến đường dẫn mà python của bạn đang tìm kiếm.
lệnh tạo liên kết biểu tượng sẽ là:
ln -s <what_to_link> <where_to_link>
thay vì nhập vị trí chính xác, chúng tôi yêu cầu pip cho chúng tôi biết nơi nó lưu trữ các mô-đun bằng cách thực hiện lệnh:
pip show pyserial | grep "Location"| cut -d " " -f2
thay vì nhập vị trí chính xác, chúng tôi yêu cầu python cho chúng tôi biết nơi nó tìm kiếm các mô-đun đang được cài đặt bằng cách thực thi lệnh:
python -m site --user-site
cả hai lệnh phải được thoát bằng ký tự "` "(thường ở bên trái của 1 nút đối với bàn phím Hoa Kỳ)
kết quả là lệnh sau sẽ được cung cấp cho ln và liên kết biểu tượng bị thiếu sẽ được tạo:
ln -s /usr/local/lib/python2.7/dist-packages /home/<your_username>/.local/lib/python2.7/site-packages
hoặc thứ gì đó tương tự, tùy thuộc vào mặc định distro và python / pip của bạn.