Anaconda 介紹、安裝、使用及常用命令(macOS? Win10)

1. 初步認識 Anaconda

Anaconda 是一個用于科學計算的Python發行版,支持 Linux, Mac, Windows系統,提供了包管理與環境管理的功能,可以很方便地解決多版本python并存、切換以及各種第三方包安裝問題。Anaconda 利用工具/命令 conda 來進行 package 和 environment 的管理,并且已經包含了Python和相關的配套工具。

這里先解釋下conda、anaconda這些概念的差別,詳細差別見下節。

  • conda
    conda 可以理解為一個工具,也是一個可執行命令,其核心功能是包管理環境管理。 包管理與pip的使用類似,環境管理則允許用戶方便地安裝不同版本的python并可以快速切換。
  • anaconda
    anaconda 則是一個打包的集合,里面預裝好了 conda、某個版本的python、眾多packages、科學計算工具等等,所以也稱為Python的一種發行版。其實還有Miniconda,顧名思義,它只包含最基本的內容——python與conda,以及相關的必須依賴項,對于空間要求嚴格的用戶,Miniconda是一種選擇。

進入下文之前,說明一下conda的設計理念——conda將幾乎所有的工具、第三方包都當做package對待,甚至包括python和conda自身!因此,conda打破了包管理與環境管理的約束,能非常方便地安裝各種版本python、各種package并方便地切換。

2. Anaconda、conda、pip、virtualenv的區別

2.1. Anaconda

Anaconda是一個包含180+的科學包及其依賴項的發行版本。其包含的科學包包括:conda, numpy, scipy, ipython notebook等。

2.2. conda

conda是包及其依賴項環境的管理工具。

  • 適用語言:Python, R, Ruby, Lua, Scala, Java, JavaScript, C/C++, FORTRAN。

  • 適用平臺:Windows, macOS, Linux

  • 用途:快速安裝、運行和升級包及其依賴項;在計算機中便捷地創建、保存、加載和切換環境。

    如果你需要的包要求不同版本的Python,你無需切換到不同的環境,因為conda同樣是一個環境管理器。僅需要幾條命令,你可以創建一個完全獨立的環境來運行不同的Python版本,同時繼續在你常規的環境中使用你常用的Python版本。——conda官方網站

  • conda為Python項目而創造,但可適用于上述的多種語言。

  • conda包和環境管理器包含于Anaconda的所有版本當中。

2.3. pip

  • pip是用于安裝和管理軟件包的包管理器
  • pip編寫語言:Python。
  • Python中默認安裝的版本:
    Python 2.7.9及后續版本:默認安裝,命令為pip
    Python 3.4及后續版本:默認安裝,命令為pip3

2.4 virtualenv

  • 用于創建一個獨立的Python環境的工具。

  • 解決問題:

    1. 當一個程序需要使用Python 2.7版本,而另一個程序需要使用Python 3.6版本,如何同時使用這兩個程序?
    2. 如果將所有程序都安裝在系統下的默認路徑,如:/usr/lib/python2.7/site-packages,當不小心升級了本不該升級的程序時,將會對其他的程序造成影響。
    3. 如果想要安裝程序并在程序運行時對其庫或庫的版本進行修改,都會導致程序的中斷。
    4. 在共享主機時,無法在全局site-packages目錄中安裝包。
  • virtualenv將會為它自己的安裝目錄創建一個環境,這并不與其他virtualenv環境共享庫;同時也可以選擇性地不連接已安裝的全局庫。

2.5. pip 與 conda 比較

2.5.1. 依賴項檢查

  • pip:
    • 不一定會展示所需其他依賴包。
    • 安裝包時或許會直接忽略依賴項而安裝,僅在結果中提示錯誤。
  • conda:
    • 列出所需其他依賴包。
    • 安裝包時自動安裝其依賴項。
    • 可以便捷地在包的不同版本中自由切換。

2.5.2. 環境管理

  • pip:維護多個環境難度較大。
  • conda:比較方便地在不同環境之間進行切換,環境管理較為簡單。

2.5.3. 對系統自帶Python的影響

  • pip:在系統自帶的Python包中 更新/回退版本/卸載 將影響其他程序。
  • conda:不會影響系統自帶Python。

2.5.4. 適用語言

  • pip:僅適用于Python。
  • conda:適用于Python, R, Ruby, Lua, Scala, Java, JavaScript, C/C++, FORTRAN。

2.6. conda與pip、virtualenv的關系

conda結合了pip和virtualenv的功能。

3. 安裝 Anaconda

3.1. macOS

3.1.1. 系統環境

系統版本:macOS Mojave 10.14
已裝 python:python2.7.10 python3.7.0
已裝其他工具:pip pip3 qt5 pyqt5


python.png

others.png

3.1.2. 安裝

  • 下載
    前往 anaconda官網,選擇版本(建議 Python 3.7),下載 :
    anaconda_mac.png

    下載完成,得到安裝器軟件包:
    pkg.png
  • 開始安裝
    雙擊安裝包,開始安裝:


    image.png

    點擊繼續。


    image.png

    點擊繼續。
    read.png
  • 閱讀重要信息(不關注細節的可忽略,直接下一步):

Anaconda is the most popular Python data science platform. See https://www.anaconda.com/downloads/.
By default, this installer modifies your bash profile to activate the base environment of Anaconda3 when your shell starts up. To disable this, choose "Customize" at the "Installation Type" phase, and disable the "Modify PATH" option. If you decline this option, the executables installed by this installer will not be available on PATH. You will need to use the full executable path to run commands, or otherwise initialize the base environment of Anaconda3 on your own.
To install to a different location, select "Change Install Location..." at the "Installation Type" phase, then choose "Install on a specific disk...", choose the disk you wish to install on, and click "Choose Folder...". The "Install for me only" option will install Anaconda3 to the default location, ~/anaconda3.
The packages included in this installation are:

  • alabaster 0.7.11
  • anaconda 5.3.0
  • anaconda-client 1.7.2
  • anaconda-navigator 1.9.2
  • anaconda-project 0.8.2
  • appdirs 1.4.3
  • appnope 0.1.0
  • appscript 1.0.1
  • asn1crypto 0.24.0
  • astroid 2.0.4
  • astropy 3.0.4
  • atomicwrites 1.2.1
  • attrs 18.2.0
  • automat 0.7.0
  • babel 2.6.0
  • backcall 0.1.0
  • backports 1.0
  • backports.shutil_get_terminal_size 1.0.0
  • beautifulsoup4 4.6.3
  • bitarray 0.8.3
  • bkcharts 0.2
  • blas 1.0
  • blaze 0.11.3
  • bleach 2.1.4
  • blosc 1.14.4
  • bokeh 0.13.0
  • boto 2.49.0
  • bottleneck 1.2.1
  • bzip2 1.0.6
  • ca-certificates 2018.03.07
  • certifi 2018.8.24
  • cffi 1.11.5
  • chardet 3.0.4
  • click 6.7
  • cloudpickle 0.5.5
  • clyent 1.2.2
  • colorama 0.3.9
  • conda 4.5.11
  • conda-build 3.15.1
  • conda-env 2.6.0
  • constantly 15.1.0
  • contextlib2 0.5.5
  • cryptography 2.3.1
  • curl 7.61.0
  • cycler 0.10.0
  • cython 0.28.5
  • cytoolz 0.9.0.1
  • dask 0.19.1
  • dask-core 0.19.1
  • datashape 0.5.4
  • dbus 1.13.2
  • decorator 4.3.0
  • defusedxml 0.5.0
  • distributed 1.23.1
  • docutils 0.14
  • entrypoints 0.2.3
  • et_xmlfile 1.0.1
  • expat 2.2.6
  • fastcache 1.0.2
  • filelock 3.0.8
  • flask 1.0.2
  • flask-cors 3.0.6
  • freetype 2.9.1
  • get_terminal_size 1.0.0
  • gettext 0.19.8.1
  • gevent 1.3.6
  • glib 2.56.2
  • glob2 0.6
  • gmp 6.1.2
  • gmpy2 2.0.8
  • greenlet 0.4.15
  • h5py 2.8.0
  • hdf5 1.10.2
  • heapdict 1.0.0
  • html5lib 1.0.1
  • hyperlink 18.0.0
  • icu 58.2
  • idna 2.7
  • imageio 2.4.1
  • imagesize 1.1.0
  • incremental 17.5.0
  • intel-openmp 2019.0
  • ipykernel 4.9.0
  • ipython 6.5.0
  • ipython_genutils 0.2.0
  • ipywidgets 7.4.1
  • isort 4.3.4
  • itsdangerous 0.24
  • jbig 2.1
  • jdcal 1.4
  • jedi 0.12.1
  • jinja2 2.10
  • jpeg 9b
  • jsonschema 2.6.0
  • jupyter 1.0.0
  • jupyter_client 5.2.3
  • jupyter_console 5.2.0
  • jupyter_core 4.4.0
  • jupyterlab 0.34.9
  • jupyterlab_launcher 0.13.1
  • keyring 13.2.1
  • kiwisolver 1.0.1
  • lazy-object-proxy 1.3.1
  • libcurl 7.61.0
  • libcxx 4.0.1
  • libcxxabi 4.0.1
  • libedit 3.1.20170329
  • libffi 3.2.1
  • libgfortran 3.0.1
  • libiconv 1.15
  • libpng 1.6.34
  • libsodium 1.0.16
  • libssh2 1.8.0
  • libtiff 4.0.9
  • libxml2 2.9.8
  • libxslt 1.1.32
  • llvmlite 0.24.0
  • locket 0.2.0
  • lxml 4.2.5
  • lzo 2.10
  • markupsafe 1.0
  • matplotlib 2.2.3
  • mccabe 0.6.1
  • mistune 0.8.3
  • mkl 2019.0
  • mkl-service 1.1.2
  • mkl_fft 1.0.4
  • mkl_random 1.0.1
  • more-itertools 4.3.0
  • mpc 1.1.0
  • mpfr 4.0.1
  • mpmath 1.0.0
  • msgpack-python 0.5.6
  • multipledispatch 0.6.0
  • navigator-updater 0.2.1
  • nbconvert 5.4.0
  • nbformat 4.4.0
  • ncurses 6.1
  • networkx 2.1
  • nltk 3.3.0
  • nose 1.3.7
  • notebook 5.6.0
  • numba 0.39.0
  • numexpr 2.6.8
  • numpy 1.15.1
  • numpy-base 1.15.1
  • numpydoc 0.8.0
  • odo 0.5.1
  • olefile 0.46
  • openpyxl 2.5.6
  • openssl 1.0.2p
  • packaging 17.1
  • pandas 0.23.4
  • pandoc 1.19.2.1
  • pandocfilters 1.4.2
  • parso 0.3.1
  • partd 0.3.8
  • path.py 11.1.0
  • pathlib2 2.3.2
  • patsy 0.5.0
  • pcre 8.42
  • pep8 1.7.1
  • pexpect 4.6.0
  • pickleshare 0.7.4
  • pillow 5.2.0
  • pip 10.0.1
  • pkginfo 1.4.2
  • pluggy 0.7.1
  • ply 3.11
  • prometheus_client 0.3.1
  • prompt_toolkit 1.0.15
  • psutil 5.4.7
  • ptyprocess 0.6.0
  • py 1.6.0
  • pyasn1 0.4.4
  • pyasn1-modules 0.2.2
  • pycodestyle 2.4.0
  • pycosat 0.6.3
  • pycparser 2.18
  • pycrypto 2.6.1
  • pycurl 7.43.0.2
  • pyflakes 2.0.0
  • pygments 2.2.0
  • pylint 2.1.1
  • pyodbc 4.0.24
  • pyopenssl 18.0.0
  • pyparsing 2.2.0
  • pyqt 5.9.2
  • pysocks 1.6.8
  • pytables 3.4.4
  • pytest 3.8.0
  • pytest-arraydiff 0.2
  • pytest-astropy 0.4.0
  • pytest-doctestplus 0.1.3
  • pytest-openfiles 0.3.0
  • pytest-remotedata 0.3.0
  • python 3.7.0
  • python-dateutil 2.7.3
  • python.app 2
  • pytz 2018.5
  • pywavelets 1.0.0
  • pyyaml 3.13
  • pyzmq 17.1.2
  • qt 5.9.6
  • qtawesome 0.4.4
  • qtconsole 4.4.1
  • qtpy 1.5.0
  • readline 7.0
  • requests 2.19.1
  • rope 0.11.0
  • ruamel_yaml 0.15.46
  • scikit-image 0.14.0
  • scikit-learn 0.19.2
  • scipy 1.1.0
  • seaborn 0.9.0
  • send2trash 1.5.0
  • service_identity 17.0.0
  • setuptools 40.2.0
  • simplegeneric 0.8.1
  • singledispatch 3.4.0.3
  • sip 4.19.8
  • six 1.11.0
  • snappy 1.1.7
  • snowballstemmer 1.2.1
  • sortedcollections 1.0.1
  • sortedcontainers 2.0.5
  • sphinx 1.7.9
  • sphinxcontrib 1.0
  • sphinxcontrib-websupport 1.1.0
  • spyder 3.3.1
  • spyder-kernels 0.2.6
  • sqlalchemy 1.2.11
  • sqlite 3.24.0
  • statsmodels 0.9.0
  • sympy 1.2
  • tblib 1.3.2
  • terminado 0.8.1
  • testpath 0.3.1
  • tk 8.6.8
  • toolz 0.9.0
  • tornado 5.1
  • tqdm 4.26.0
  • traitlets 4.3.2
  • twisted 18.7.0
  • unicodecsv 0.14.1
  • unixodbc 2.3.7
  • urllib3 1.23
  • wcwidth 0.1.7
  • webencodings 0.5.1
  • werkzeug 0.14.1
  • wheel 0.31.1
  • widgetsnbextension 3.4.1
  • wrapt 1.10.11
  • xlrd 1.1.0
  • xlsxwriter 1.1.0
  • xlwings 0.11.8
  • xlwt 1.3.0
  • xz 5.2.4
  • yaml 0.1.7
  • zeromq 4.2.5
  • zict 0.1.3
  • zlib 1.2.11
  • zope 1.0
  • zope.interface 4.5.0

如上文所示,anaconda將安裝很多包,其中標紅的為目前我比較熟悉的包,如果不用anaconda,這些包得一個個手動安裝,anoconda真是好用啊!

  • 繼續安裝


    image.png

    image.png

    選擇“在特定的磁盤上安裝...”,安裝在根目錄。(根據個人需求選擇)


    image.png

    image.png

    點擊“安裝”。
    image.png

    image.png

    image.png

    image.png
  • 安裝 Microsoft VSCode(可跳過)
    Anaconda has partnered with Microsoft to bring you Visual Studio Code. Visual Studio Code is a free, open source, streamlined cross-platform code editor with excellent support for Python code editing, IntelliSense, debugging, linting, version control, and more.
    Anaconda 同微軟合作推出了 Visual Studio Code,Visual Studio Code 是一個免費、開源、流線型的跨平臺代碼編輯器,可以很好地支持python代碼編輯、智能感知、調試、代碼控制等。


    image.png

    點擊“Install Microsoft VSCode”。
    需在線安裝,網絡不好,安裝失敗。


    image
  • 安裝成功


    image.png

    到應用程序,打開 Anaconda Navigator ,會展示出已經安裝好的其他常用應用,如:

  • Anaconda Navigtor :用于管理工具包和環境的圖形用戶界面,后續涉及的眾多管理命令也可以在 Navigator 中手工實現。
  • Jupyter notebook :基于web的交互式計算環境,可以編輯易于人們閱讀的文檔,用于展示數據分析的過程。
  • qtconsole :一個可執行 IPython 的仿終端圖形界面程序,相比 Python Shell 界面,qtconsole 可以直接顯示代碼生成的圖形,實現多行代碼輸入執行,以及內置許多有用的功能和函數。
  • spyder :一個使用Python語言、跨平臺的、科學運算集成開發環境。


    image.png

查看安裝路徑:


image.png

3.1.3. 配置

3.1.3.1. 環境變量

Anaconda 安裝好后,會自動在 ~/.bash_profile 中添加 anaconda 的環境變量,如下:


image.png

因此只需要source一下即可。
anaconda安裝之后,source之前,先看一下當前的python:
默認 python 為 python2:


image.png

使用 python3 需使用 python3 指令:
image.png

我們來source 一下:


image.png

默認 python 變為 python3,且是 anaconda 自帶的 python3:
image.png
3.1.3.2. 修改conda鏡像源

如不修改conda的鏡像源,99.99%會報http鏈接失敗的錯誤(網友踩坑經驗)。
輸入以下兩條命令來添加清華源:

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --set show_channel_urls yes

此時你的 ~ 目錄下會生成隱藏文件 .condarc:


image.png

內容如下:


image.png

刪除其中的第1行、第4行(建議只刪第一行,原因請見3.1.3.3節),最終版本文件如下:
image.png

用命令

conda info 

查看當前配置信息,channel URLs 字段內容內容如下,即修改成功。


image.png

若未刪除第4行,則還會有默認的鏡像源:


image.png

3.1.3.3. python2 python3 切換

  • 創建python3.7環境(圖形界面)
    image.png

    image.png

    image.png

    報錯——當前鏡像源獲取不到python3.7的包:
    image.png

    解決方法:修改~/.condarc,增加 -defaults ,將默認鏡像源添加進來:
    image.png

    保存退出,輸入:
conda info

查看配置信息,默認鏡像源已恢復:


image.png

重新創建python3.7環境,成功:


image.png

image.png

使用如下命令,查看當前有哪些環境:
conda info -e
image.png

星號表示當前激活的環境。
激活py37環境:

source activate py37
或
conda activate py37
image.png
  • 創建python2.7環境(命令行方式)
    輸入以下命令,創建python2.7環境:
conda create -n py27 python=2.7
或
conda create --name py27 python=2.7
image.png

創建成功:


image.png

Anaconda 圖形界面也顯示了 py27:


image.png

激活py27環境:

conda activate py27
image.png

3.2. Windows 10

前往 anaconda官網,選擇版本(建議 Python 3.7),下載 :

anaconda_win.png

3.2.1. 安裝

安裝請參考 http://www.cnblogs.com/IT-LearnHall/p/9486029.html

3.2.2. 配置

3.2.2.1. 配置環境變量

右鍵“此電腦”,依次點擊“屬性”->"高級系統設置"->"環境變量",雙擊“用戶變量“中的path:


image.png

點擊”新建“,新增三個環境變量(注意第三個環境變量一定要加,否則創建環境或者安裝包的時候會報錯:CondaHTTPError: HTTP 000 CONNECTION FAILED for url):

C:\Users\sille\Anaconda3
C:\Users\sille\Anaconda3\Scripts
C:\Users\sille\Anaconda\Library\bin

點擊確定。
打開終端,輸入

conda --version

正確顯示版本號,則環境變量設置成功:


image.png

3.2.2.2. 更改鏡像源

同mac版,請見3.1.3.2.節。

3.2.2.3. (命令方式)創建 python3.7環境

查看當前有哪些環境:

conda info -e
或
conda info --envs

只有一個base環境:


zhi'yu

打開 Anaconda 圖形界面,同樣顯示只有一個環境——base(root):


image.png

輸入以下命令,創建python3.7環境:
conda create -n py37 python=3.7
或
conda create --name py37 python=3.7

失敗了,提示當前鏡像源找不到python3.7的包。


image.png

原因是:在上一節更改鏡像源的時候,刪掉了 -defaults 這一行,導致默認鏡像源被去掉了,只保留了新增的清華鏡像源,這一鏡像源可能對于較新的包更新較慢。
解決方法:打開 C:\Users\用戶名下的隱藏文件 .condarc,增加 -defaults 這一行,如下圖所示。


image.png

輸入命令,查看當前鏡像源:
conda info

可見,默認鏡像源已經添加進來:


image.png

再次執行命令,創建python3.7環境:

conda create -n py37 python=3.7
image.png

image.png

至此,python3.7環境已經創建完成。
打開 anaconda 圖形界面,也可以看到剛創建的py37:


image.png

激活 py37環境:
activate py37

激活成功后,終端前面的括號中會顯示環境名。
查看當前環境的python版本:

python --version
image.png

查看安裝了哪些包:

conda list
image.png

3.2.2.4. (圖形界面)創建 python2.7環境

4. 使用

4.1. 在指定環境下載指定包

image.png

5. 常用命令

5.1. 管理環境

5.1.1. 打開anaconda的anaconda prompt查看當前環境:

conda info -e
或
conda info --envs

5.1.2. 創建新的環境

  • 創建新的環境(名為py27),并指定運行環境為python2.7
conda create -n py27 python=2.7
或
conda create --name py27 python=2.7
  • 創建新環境,并安裝包
conda create -n env_name numpy matplotlib python=2.7

5.1.3. 顯示已創建的環境

conda info --envs
# 或
conda info -e
# 或
conda env list
image.png

5.1.4. 激活及退出環境

  • 激活環境
    macOS:
conda activate py27
或
source activate py27

windows:

activate py27

以macOS 為例:


image.png
  • 退出環境
    macOS:
conda deactivate
或
source deactivate

windows:

deactivate

以 macOS 為例:


image.png

當執行"退出當前環境",回到root環境命令后,原本行首以“(env_name)”或“[env_name]”開頭的字符將不再顯示。

5.1.5. 復制環境

conda create --name new_env_name --clone copied_env_name

注意:

  • copied_env_name 即為被復制/克隆環境名
  • new_env_name 即為復制之后新環境的名稱
  • 如:conda create --name py2 --clone python2,即為克隆名為“python2”的環境,克隆后的新環境名為“py2”。此時,環境中將同時存在“python2”和“py2”環境,且兩個環境的配置相同。

5.1.6. 刪除環境

conda remove --name env_name --all

env_name> 為被刪除環境的名稱。

5.2. 管理包

5.2.1. 檢查新環境下的python版本以及在創建環境時conda自動安裝了那些必須的包

#查看python版本
python --version

#查看安裝了那些包
conda list
#或者
conda list -n python27

5.2.1. 安裝包

給某個特定環境安裝包。

  • 切換到環境安裝在安裝
activate env_name
conda isntall pkg_name
  • 直接在別的環境安裝
conda install -n env_name pkg_name
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 230,501評論 6 544
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 99,673評論 3 429
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 178,610評論 0 383
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,939評論 1 318
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 72,668評論 6 412
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 56,004評論 1 329
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 44,001評論 3 449
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 43,173評論 0 290
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 49,705評論 1 336
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 41,426評論 3 359
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,656評論 1 374
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 39,139評論 5 364
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,833評論 3 350
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 35,247評論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,580評論 1 295
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 52,371評論 3 400
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 48,621評論 2 380

推薦閱讀更多精彩內容