Tôi đã quan sát hành vi sau đây trong python 3.4.2 và tôi unableto giải thích nó. Hy vọng rằng ai đó có thể làm sáng tỏ về vấn đề này:nhập urllib.parse không thành công khi Python chạy từ dòng lệnh
Trong IPython:
In [129]: import urllib
In [130]: print(urllib.parse)
<module 'urllib.parse' from '/Users/ashwin/.pyenv/versions/3.4.2/lib/python3.4/urllib/parse.py'>
tôi đã nhập một mô-đun, và in một trong những thuộc tính của nó. Mọi thứ hoạt động như mong đợi. Cho đến nay, cuộc sống là tốt.
Bây giờ, tôi làm điều tương tự từ dòng lệnh:
$ python -c 'import urllib; print(urllib.parse)'
Traceback (most recent call last):
File "<string>", line 1, in <module>
AttributeError: 'module' object has no attribute 'parse'
Nói những gì ?! đó không phải là cách làm việc đó.
Ok, có thể đây là một hành vi trên toàn con trăn; có thể mô-đun không được nhập ngay lập tức khi sử dụng cờ -c
. Hãy thử một mô-đun khác:
$ python -c 'import datetime; print(datetime.datetime)'
<class 'datetime.datetime'>
Cái gì ?! Làm thế nào nó hoạt động cho datetime
và không cho urllib
? Tôi đang sử dụng cùng một phiên bản của python ở cả hai nơi (3.4.2)
Có ai có bất kỳ suy nghĩ nào về điều này không?
EDIT:
mỗi một trong những nhận xét:
$ which -a ipython
/Users/ashwin/.pyenv/shims/ipython
/Library/Frameworks/Python.framework/Versions/2.7/bin/ipython
/usr/local/bin/ipython
/usr/local/bin/ipython
Và
$ which -a python
/Users/ashwin/.pyenv/shims/python
/Library/Frameworks/Python.framework/Versions/2.7/bin/python
/usr/bin/python
/usr/bin/python
bạn có thể muốn thêm sản lượng của 'mà -a ipython' và 'mà -a python' – cel
@cel: Tôi không hiểu làm thế nào mà có thể giúp, nhưng tôi đã thêm nó – inspectorG4dget
Vì vậy' python -m IPython -c 'nhập datetime; in (datetime.datetime) ''và' python -c' nhập datetime; in (datetime.datetime) ''cho kết quả khác nhau? – cel